mirror of https://framagit.org/bortzmeyer/echoping
This commit was manufactured by cvs2svn to create branch 'Initial'.
parent
ba58394b94
commit
87603802fc
@ -1,40 +0,0 @@
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
||||
<bortzmeyer@nic.fr>
|
||||
|
||||
With help from:
|
||||
|
||||
W. Richard Stevens, author of the book "Unix network programming"
|
||||
for his book and his many examples (a lot of the code comes from
|
||||
him by copy-and-paste).
|
||||
|
||||
Pierre Beyssac <pb@fasterix.freenix.org> author of the "bing" tool for
|
||||
examples of code and beta-testing.
|
||||
|
||||
Christian Grimm <grimm@rvs.uni-hannover.de> for the ICP code.
|
||||
|
||||
Samuel Tardieu <sam@rfc1149.net> for the SMTP code.
|
||||
|
||||
Pierre-Yves Lochou <lochou@ilog.fr> for a lot of testing, debugging
|
||||
and porting.
|
||||
|
||||
Bertrand Petit <elrond@phoe.frmug.org> for a lot of testing, debugging
|
||||
and useful comments and advices.
|
||||
|
||||
Glen Turner <glen.turner@aarnet.edu.au> for the Type Of Service code.
|
||||
|
||||
Munechika Sumikawa <sumikawa@ebina.hitachi.co.jp>, from KAME, for the
|
||||
adaptation to the new API, which allows IPv6.
|
||||
|
||||
Luca Deri <deri@ntop.org> for the patch separating kernel (TCP) and
|
||||
application latency.
|
||||
|
||||
SourceForge for the very good environment to work with. SourceForge
|
||||
changed the life of many free software programmers!
|
||||
|
||||
The Pasteur Institute because the initial work was done when working
|
||||
on the French national Web cache project, while being an employee of
|
||||
the Institute.
|
||||
|
||||
AFNIC, the .fr registry, because the work is now done there.
|
||||
|
||||
$Id$
|
@ -1,109 +0,0 @@
|
||||
6.0 (not yet released)
|
||||
|
||||
* Plugins: several plugins (TODO: list) are now shipped with
|
||||
echoping and you can write your own. All new protocols will now be
|
||||
supported via plugins. Consequences:
|
||||
- you now need an Unix with a working dlopen(3)
|
||||
- echoping now requires the popt parsing library
|
||||
* popt: echoping now depends on popt. One main change: options
|
||||
parsing is lightly different so some scripts *may* break. A
|
||||
typical example is that "old-school" Unix aggreation of arguments
|
||||
("echoping -v4 localhost") is no longer accepted (use "echoping -v
|
||||
-4 localhost").
|
||||
|
||||
5.2.0 (2004-02-29)
|
||||
|
||||
* IDN (Unicode domain names) support
|
||||
|
||||
5.1.0 (2003-11-09)
|
||||
|
||||
* GNU TLS support (alternative to OpenSSL),
|
||||
* Small licence change,
|
||||
* Portability fixes (MacOS X)
|
||||
|
||||
5.0.1 (2002-11-04)
|
||||
|
||||
* Small bug fixes,
|
||||
* Better error messages with invalid options
|
||||
|
||||
5.0.0 (2002-10-11)
|
||||
|
||||
* Now uses getnameinfo/getaddrinfo. Two consequences:
|
||||
- you can compile only on a recent Unix
|
||||
- you have IPv6 support
|
||||
* With -v, now able to separate kernel (TCP) and application latency
|
||||
* Now displays the standard deviation for repeated tests. Warning:
|
||||
this may break some scripts which parse the output of echoping.
|
||||
|
||||
4.2.0 (2001-03-16)
|
||||
|
||||
* New -a and -A options to control the proxy/cache (disable caching).
|
||||
Fixes bug/wish #232324
|
||||
* Support for microsecond wait (uses usleep)
|
||||
* New option (-p) to set socket priority (Linux only)
|
||||
* New option (-P) to set IP Type of Service octet
|
||||
* Bug fixes: #230384 (SSL records are different from text lines)
|
||||
|
||||
4.1.0 (2001-02-14)
|
||||
|
||||
* Fix several SSL bugs (#132001, #130151)
|
||||
* Now requires an ANSI C compiler
|
||||
* Now uses only stdarg.h so should really compile everywhere
|
||||
|
||||
4.0.2 (2001-01-26)
|
||||
|
||||
* Stupid bug introduced in 4.0.1 when compiling without SSL
|
||||
|
||||
4.0.1 (2001-01-26)
|
||||
|
||||
* Fix SSL bug when using -n (#130078)
|
||||
|
||||
4.0.0 (2001-01-25)
|
||||
|
||||
* SSL (Secure Sockets Layer) support
|
||||
* Now reading many bytes at a time (big performance improvment).
|
||||
Uses the standard I/O library.
|
||||
* Better detection of the HTTP port
|
||||
* Bug fixes (AI/X, Solaris)
|
||||
|
||||
3.1.0 (never released)
|
||||
|
||||
* SMTP support
|
||||
|
||||
3.0.1 (2000-07-06)
|
||||
|
||||
* configure now tries to detect the name of the HTTP port
|
||||
* Fix an AIX bug (closes #108782)
|
||||
|
||||
3.0.0 (2000-06-30)
|
||||
|
||||
* Autoconf/automake support
|
||||
* Fix a bug in ICP timeout
|
||||
|
||||
2.2.1
|
||||
* Portability fixes
|
||||
|
||||
2.2
|
||||
* Stable release, apart from ICP
|
||||
|
||||
2.1.0
|
||||
* Timeouts even on TCP connections.
|
||||
* Support of HTTP 1.1
|
||||
|
||||
2.0.1
|
||||
|
||||
* Bug with getservbyname for HTTP connections fixed.
|
||||
|
||||
2.0.0
|
||||
* HTTP support. For testing of Web servers and Web proxies.
|
||||
* Much better portability.
|
||||
|
||||
|
||||
$Id$
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,109 +0,0 @@
|
||||
Some details about echoping
|
||||
------------
|
||||
|
||||
echoping is a debugging tool. It is not a "end user" tool. For
|
||||
instance, HTTP testing takes host names, not URLs as parameters (if
|
||||
you want to test in a more HTTPish way, use wget). Also, when
|
||||
connecting to a server which has both IPv4 and IPv6 addresses,
|
||||
echoping does not try every address in turn like most user-oriented
|
||||
programs do. If you want to test only the IPv4 address, use the
|
||||
address, not the host name (or use the -4 option).
|
||||
|
||||
echo service:
|
||||
|
||||
echoping assumes the remote host accepts such connections. Experience
|
||||
show that most Internet routers do and many hosts also. However, some
|
||||
Unices are not shipped with this service enabled and, anyway, the
|
||||
administrator is always free to close it (I think they
|
||||
shouldn't). echoping has therefore less chance to succeed than ping or
|
||||
bing. (On a typical Unix box, "echo" service is configured in
|
||||
/etc/inetd.conf but see the CERT advisory
|
||||
<http://www.cert.org/advisories/CA-96.01.UDP_service_denial.html>.)
|
||||
|
||||
What does it measure?
|
||||
|
||||
echoping simply shows the elapsed time, including the time to set up
|
||||
the TCP connection and to transfer the data (but excluding the time
|
||||
for the - possible - DNS call). Therefore, it is unsuitable to
|
||||
physical line raw throughput measures (unlike bing). On the other end,
|
||||
the action it performs are close from a HTTP request and it is
|
||||
meaningful to use it (carefully) to measure Web performances.
|
||||
|
||||
UDP and inetd:
|
||||
|
||||
With UDP servers you can have surprises: the first test is quite often
|
||||
much slower since inetd has to launch the process. After that, the
|
||||
process stays a while so the next texts run faster.
|
||||
|
||||
A nice example:
|
||||
|
||||
There are many, many traps when measuring something on the
|
||||
Internet. Just one example: 'echoping -w 0 -n 4 a-sunOS-machine' and
|
||||
you'll see the first test succeed in a very short time (if you are
|
||||
close from the machine) and all of the others take a much longer time
|
||||
(one second). With '-w 1' (wait one second between tests, the
|
||||
default), everything works fine: it seems the sockets on SunOS need
|
||||
time to recover :-)
|
||||
|
||||
To measure performances on the Internet you can also see:
|
||||
|
||||
Unix:
|
||||
|
||||
- bing, a bandwidth measurement tool <ftp://ftp.lip6.fr/pub/networking>
|
||||
- ping, probably available with your system
|
||||
- traceroute, idem (otherwise, see <ftp://ftp.ee.lbl.gov/>)
|
||||
- ttcp, the best measurement tool but it needs some control over the
|
||||
two machines <ftp://ftp.arl.mil/pub/ttcp> (nothing to do with
|
||||
the T/TCP protocol)
|
||||
- treno (evaluates available bandwidth for TCP)
|
||||
<http://www.psc.edu/~pscnoc/treno_info.html>
|
||||
- spray is a tool which I dont't know very well. It is available on some
|
||||
machines (Sun, OSF/1).
|
||||
I've also heard of but never tried:
|
||||
- the very good mon program <http://www.kernel.org/software/mon/> includes a
|
||||
up_rtt.monitor which has many similarities with echoping
|
||||
- NetPerf <http://www.netperf.org/netperf/NetperfPage.html>
|
||||
- a suite of Bandwidth Measuring programs from gnn@netcom.com
|
||||
<ftp://ftp.netcom.com/~ftp/gnn/bwmeas-0.3.tar.Z>. These are several
|
||||
programs that measure bandwidth and jitter over several kinds of
|
||||
IPC links, including TCP and UDP.
|
||||
|
||||
Macintosh:
|
||||
|
||||
- TCP Watcher, a very nice "swiss-army knife" tool, to test ping, DNS, echo.
|
||||
It includes an echo server. Available on Info-Mac in "comm/tcp".
|
||||
|
||||
MS-Windows:
|
||||
|
||||
(I have little knowledge of that environment and I tested nothing.)
|
||||
|
||||
- WSNUTIL. Seems to be an echo client and server.
|
||||
<http://www.ccs.org/winsock/xref-e.html#echo_clients>
|
||||
- echox32. An echo server.
|
||||
<http://www.winsite.com/info/pc/win95/misc/echox32.zip/>
|
||||
- cfinger. An echo client and server.
|
||||
<http://www.winsite.com/info/pc/win3/winsock/cfing13b.zip/>
|
||||
|
||||
Windows-NT :
|
||||
|
||||
echo and other services can (apparently) be provided within 'Simple
|
||||
TCP/IP Services' which can be enabled through the Network Control
|
||||
Panel
|
||||
|
||||
Web clients:
|
||||
|
||||
- You can ping or traceroute on the Web. See
|
||||
<http://www.freenix.org/cgi-bin/traceroute.iphtml>,
|
||||
<http://www.tracert.com/> or
|
||||
<http://www.fr.net/internet/trace.html>.
|
||||
|
||||
|
||||
Use all of them with care, the result is not obvious to interpret.
|
||||
|
||||
And don't forget to read RFC 1470 ("Tools for Monitoring and Debugging
|
||||
TCP/IP Internets and Interconnected Devices"), specially its
|
||||
"Benchmark" section and the W. Richard Stevens' books (all of them),
|
||||
published by Addison-Wesley.
|
||||
|
||||
|
||||
$Id$
|
@ -1,719 +0,0 @@
|
||||
/* Parse HyperText Document Address HTParse.c
|
||||
** ================================
|
||||
*/
|
||||
|
||||
#include "HTParse.h"
|
||||
#define TRACE 0
|
||||
|
||||
#define FREE(x) if (x) {free(x); x = NULL;}
|
||||
|
||||
struct struct_parts
|
||||
{
|
||||
char *access;
|
||||
char *host;
|
||||
char *absolute;
|
||||
char *relative;
|
||||
/* char * search; no - treated as part of path */
|
||||
char *anchor;
|
||||
};
|
||||
|
||||
/* Strings of any length
|
||||
** ---------------------
|
||||
*/
|
||||
PUBLIC int strcasecomp
|
||||
ARGS2 (
|
||||
CONST char *, a,
|
||||
CONST char *, b)
|
||||
{
|
||||
CONST char *p = a;
|
||||
CONST char *q = b;
|
||||
|
||||
for (p = a, q = b; *p && *q; p++, q++)
|
||||
{
|
||||
int diff = TOLOWER (*p) - TOLOWER (*q);
|
||||
if (diff)
|
||||
return diff;
|
||||
}
|
||||
if (*p)
|
||||
return 1; /* p was longer than q */
|
||||
if (*q)
|
||||
return -1; /* p was shorter than q */
|
||||
return 0; /* Exact match */
|
||||
}
|
||||
|
||||
/* With count limit
|
||||
** ----------------
|
||||
*/
|
||||
PUBLIC int strncasecomp
|
||||
ARGS3 (
|
||||
CONST char *, a,
|
||||
CONST char *, b,
|
||||
int, n)
|
||||
{
|
||||
CONST char *p = a;
|
||||
CONST char *q = b;
|
||||
|
||||
for (p = a, q = b;;
|
||||
p++, q++)
|
||||
{
|
||||
int diff;
|
||||
if (p == (a + n))
|
||||
return 0; /* Match up to n characters */
|
||||
if (!(*p && *q))
|
||||
return (*p - *q);
|
||||
diff = TOLOWER (*p) - TOLOWER (*q);
|
||||
if (diff)
|
||||
return diff;
|
||||
}
|
||||
/*NOTREACHED */
|
||||
}
|
||||
|
||||
/* Allocate a new copy of a string, and returns it
|
||||
*/
|
||||
PUBLIC char *HTSACopy
|
||||
ARGS2 (
|
||||
char **, dest,
|
||||
CONST char *, src)
|
||||
{
|
||||
FREE (*dest);
|
||||
if (src)
|
||||
{
|
||||
*dest = (char *) malloc (strlen (src) + 1);
|
||||
if (*dest == NULL)
|
||||
outofmem (__FILE__, "HTSACopy");
|
||||
strcpy (*dest, src);
|
||||
}
|
||||
return *dest;
|
||||
}
|
||||
/* String Allocate and Concatenate
|
||||
*/
|
||||
PUBLIC char *HTSACat
|
||||
ARGS2 (
|
||||
char **, dest,
|
||||
CONST char *, src)
|
||||
{
|
||||
if (src && *src)
|
||||
{
|
||||
if (*dest)
|
||||
{
|
||||
int length = strlen (*dest);
|
||||
*dest = (char *) realloc (*dest, length + strlen (src) + 1);
|
||||
if (*dest == NULL)
|
||||
outofmem (__FILE__, "HTSACat");
|
||||
strcpy (*dest + length, src);
|
||||
}
|
||||
else
|
||||
{
|
||||
*dest = (char *) malloc (strlen (src) + 1);
|
||||
if (*dest == NULL)
|
||||
outofmem (__FILE__, "HTSACat");
|
||||
strcpy (*dest, src);
|
||||
}
|
||||
}
|
||||
return *dest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Strip white space off a string. HTStrip()
|
||||
** -------------------------------
|
||||
**
|
||||
** On exit,
|
||||
** Return value points to first non-white character, or to 0 if none.
|
||||
** All trailing white space is OVERWRITTEN with zero.
|
||||
*/
|
||||
PUBLIC char *HTStrip
|
||||
ARGS1 (
|
||||
char *, s)
|
||||
{
|
||||
#define SPACE(c) ((c == ' ') || (c == '\t') || (c == '\n'))
|
||||
char *p = s;
|
||||
for (p = s; *p; p++)
|
||||
; /* Find end of string */
|
||||
for (p--; p >= s; p--)
|
||||
{
|
||||
if (SPACE (*p))
|
||||
*p = '\0'; /* Zap trailing blanks */
|
||||
else
|
||||
break;
|
||||
}
|
||||
while (SPACE (*s))
|
||||
s++; /* Strip leading blanks */
|
||||
return s;
|
||||
}
|
||||
|
||||
/* Scan a filename for its consituents. scan()
|
||||
** ------------------------------------
|
||||
**
|
||||
** On entry,
|
||||
** name points to a document name which may be incomplete.
|
||||
** On exit,
|
||||
** absolute or relative may be nonzero (but not both).
|
||||
** host, anchor and access may be nonzero if they were specified.
|
||||
** Any which are nonzero point to zero terminated strings.
|
||||
*/
|
||||
PRIVATE void scan
|
||||
ARGS2 (
|
||||
char *, name,
|
||||
struct struct_parts *, parts)
|
||||
{
|
||||
char *after_access;
|
||||
char *p;
|
||||
/* int length = strlen (name); */
|
||||
|
||||
parts->access = NULL;
|
||||
parts->host = NULL;
|
||||
parts->absolute = NULL;
|
||||
parts->relative = NULL;
|
||||
parts->anchor = NULL;
|
||||
|
||||
/*
|
||||
** Scan left-to-right for a scheme (access).
|
||||
*/
|
||||
after_access = name;
|
||||
for (p = name; *p; p++)
|
||||
{
|
||||
if (*p == ':')
|
||||
{
|
||||
*p = '\0';
|
||||
parts->access = name; /* Access name has been specified */
|
||||
after_access = (p + 1);
|
||||
break;
|
||||
}
|
||||
if (*p == '/' || *p == '#' || *p == ';' || *p == '?')
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef NOTDEFINED
|
||||
for (p = (name + length - 1); p >= name; p--)
|
||||
{
|
||||
#endif /* NOTDEFINED */
|
||||
/*
|
||||
** Scan left-to-right for a fragment (anchor).
|
||||
*/
|
||||
for (p = after_access; *p; p++)
|
||||
{
|
||||
if (*p == '#')
|
||||
{
|
||||
parts->anchor = (p + 1);
|
||||
*p = '\0'; /* terminate the rest */
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Scan left-to-right for a host or absolute path.
|
||||
*/
|
||||
p = after_access;
|
||||
if (*p == '/')
|
||||
{
|
||||
if (p[1] == '/')
|
||||
{
|
||||
parts->host = (p + 2); /* host has been specified */
|
||||
*p = '\0'; /* Terminate access */
|
||||
p = strchr (parts->host, '/'); /* look for end of host name if any */
|
||||
if (p != NULL)
|
||||
{
|
||||
*p = '\0'; /* Terminate host */
|
||||
parts->absolute = (p + 1); /* Root has been found */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
parts->absolute = (p + 1); /* Root found but no host */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
parts->relative = (*after_access) ?
|
||||
after_access : NULL; /* NULL for "" */
|
||||
}
|
||||
|
||||
/*
|
||||
** Check schemes that commonly have unescaped hashes.
|
||||
*/
|
||||
if (parts->access && parts->anchor)
|
||||
{
|
||||
if ((!parts->host && strcasecomp (parts->access, "lynxcgi")) ||
|
||||
!strcasecomp (parts->access, "nntp") ||
|
||||
!strcasecomp (parts->access, "snews") ||
|
||||
!strcasecomp (parts->access, "news") ||
|
||||
!strcasecomp (parts->access, "data"))
|
||||
{
|
||||
/*
|
||||
* Access specified but no host and not a lynxcgi URL, so the
|
||||
* anchor may not really be one, e.g., news:j462#36487@foo.bar,
|
||||
* or it's an nntp or snews URL, or news URL with a host.
|
||||
* Restore the '#' in the address.
|
||||
*/
|
||||
*(parts->anchor - 1) = '#';
|
||||
parts->anchor = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NOT_DEFINED /* search is just treated as part of path */
|
||||
{
|
||||
char *p = (relative ? relative : absolute);
|
||||
if (p != NULL)
|
||||
{
|
||||
char *q = strchr (p, '?'); /* Any search string? */
|
||||
if (q != NULL)
|
||||
{
|
||||
*q = '\0'; /* If so, chop that off. */
|
||||
parts->search = (q + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* NOT_DEFINED */
|
||||
} /*scan */
|
||||
|
||||
|
||||
/* Parse a Name relative to another name. HTParse()
|
||||
** --------------------------------------
|
||||
**
|
||||
** This returns those parts of a name which are given (and requested)
|
||||
** substituting bits from the related name where necessary.
|
||||
**
|
||||
** On entry,
|
||||
** aName A filename given
|
||||
** relatedName A name relative to which aName is to be parsed
|
||||
** wanted A mask for the bits which are wanted.
|
||||
**
|
||||
** On exit,
|
||||
** returns A pointer to a malloc'd string which MUST BE FREED
|
||||
*/
|
||||
PUBLIC char *HTParse ARGS3 (
|
||||
CONST char *, aName,
|
||||
CONST char *, relatedName,
|
||||
int, wanted)
|
||||
{
|
||||
char *result = NULL;
|
||||
char *return_value = NULL;
|
||||
int len;
|
||||
char *name = NULL;
|
||||
char *rel = NULL;
|
||||
char *p;
|
||||
char *access;
|
||||
struct struct_parts given, related;
|
||||
|
||||
if (TRACE)
|
||||
fprintf (stderr,
|
||||
"HTParse: aName:%s relatedName:%s\n", aName, relatedName);
|
||||
|
||||
/*
|
||||
** Allocate the output string.
|
||||
*/
|
||||
len = strlen (aName) + strlen (relatedName) + 10;
|
||||
result = (char *) malloc (len); /* Lots of space: more than enough */
|
||||
if (result == NULL)
|
||||
outofmem (__FILE__, "HTParse");
|
||||
result[0] = '\0'; /* Clear string */
|
||||
|
||||
/*
|
||||
** Make working copies of the input strings to cut up.
|
||||
*/
|
||||
StrAllocCopy (name, aName);
|
||||
StrAllocCopy (rel, relatedName);
|
||||
|
||||
/*
|
||||
** Cut up the strings into URL fields.
|
||||
*/
|
||||
scan (name, &given);
|
||||
scan (rel, &related);
|
||||
|
||||
/*
|
||||
** Handle the scheme (access) field.
|
||||
*/
|
||||
if (given.access && given.host && !given.relative && !given.absolute)
|
||||
{
|
||||
if (!strcmp (given.access, "http") ||
|
||||
!strcmp (given.access, "https") ||
|
||||
!strcmp (given.access, "ftp"))
|
||||
/*
|
||||
** Assume root.
|
||||
*/
|
||||
given.absolute = "";
|
||||
}
|
||||
access = given.access ? given.access : related.access;
|
||||
if (wanted & PARSE_ACCESS)
|
||||
{
|
||||
if (access)
|
||||
{
|
||||
strcat (result, access);
|
||||
if (wanted & PARSE_PUNCTUATION)
|
||||
strcat (result, ":");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** If different schemes, inherit nothing.
|
||||
**
|
||||
** We'll try complying with RFC 1808 and
|
||||
** the Fielding draft, and inherit nothing
|
||||
** if both schemes are given, rather than
|
||||
** only when they differ, except for
|
||||
** file URLs - FM
|
||||
**
|
||||
** After trying it for a while, it's still
|
||||
** premature, IHMO, to go along with it, so
|
||||
** this is back to inheriting for identical
|
||||
** schemes whether or not they are "file".
|
||||
** If you want to try it again yourself,
|
||||
** uncomment the strncasecomp() below. - FM
|
||||
*/
|
||||
if ((given.access && related.access) &&
|
||||
( /* strcasecomp(given.access, "file") || */
|
||||
strcmp (given.access, related.access)))
|
||||
{
|
||||
related.host = NULL;
|
||||
related.absolute = NULL;
|
||||
related.relative = NULL;
|
||||
related.anchor = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
** Handle the host field.
|
||||
*/
|
||||
if (wanted & PARSE_HOST)
|
||||
if (given.host || related.host)
|
||||
{
|
||||
char *tail = result + strlen (result);
|
||||
if (wanted & PARSE_PUNCTUATION)
|
||||
strcat (result, "//");
|
||||
strcat (result, given.host ? given.host : related.host);
|
||||
#define CLEAN_URLS
|
||||
#ifdef CLEAN_URLS
|
||||
/*
|
||||
** Ignore default port numbers, and trailing dots on FQDNs,
|
||||
** which will only cause identical addresses to look different.
|
||||
*/
|
||||
{
|
||||
char *p, *h;
|
||||
p = strchr (tail, ':');
|
||||
if (p != NULL && !isdigit ((unsigned char) p[1]))
|
||||
/*
|
||||
** Colon not followed by a port number.
|
||||
*/
|
||||
*p = '\0';
|
||||
if (p != NULL && p != '\0' && access != NULL)
|
||||
{
|
||||
/*
|
||||
** Port specified.
|
||||
*/
|
||||
if ((!strcmp (access, "http") && !strcmp (p, ":80")) ||
|
||||
(!strcmp (access, "gopher") && !strcmp (p, ":70")) ||
|
||||
(!strcmp (access, "ftp") && !strcmp (p, ":21")) ||
|
||||
(!strcmp (access, "wais") && !strcmp (p, ":210")) ||
|
||||
(!strcmp (access, "nntp") && !strcmp (p, ":119")) ||
|
||||
(!strcmp (access, "news") && !strcmp (p, ":119")) ||
|
||||
(!strcmp (access, "snews") && !strcmp (p, ":563")) ||
|
||||
(!strcmp (access, "finger") && !strcmp (p, ":79")) ||
|
||||
(!strcmp (access, "cso") && !strcmp (p, ":105")))
|
||||
*p = '\0'; /* It is the default: ignore it */
|
||||
}
|
||||
if (p == NULL)
|
||||
{
|
||||
int len = strlen (tail);
|
||||
|
||||
if (len > 0)
|
||||
{
|
||||
h = tail + len - 1; /* last char of hostname */
|
||||
if (*h == '.')
|
||||
*h = '\0'; /* chop final . */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
h = p;
|
||||
h--; /* End of hostname */
|
||||
if (*h == '.')
|
||||
{
|
||||
/*
|
||||
** Slide p over h.
|
||||
*/
|
||||
while (*p != '\0')
|
||||
*h++ = *p++;
|
||||
*h = '\0'; /* terminate */
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* CLEAN_URLS */
|
||||
}
|
||||
|
||||
/*
|
||||
** If different hosts, inherit no path.
|
||||
*/
|
||||
if (given.host && related.host)
|
||||
if (strcmp (given.host, related.host) != 0)
|
||||
{
|
||||
related.absolute = NULL;
|
||||
related.relative = NULL;
|
||||
related.anchor = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
** Handle the path.
|
||||
*/
|
||||
if (wanted & PARSE_PATH)
|
||||
{
|
||||
if (access && !given.absolute && given.relative)
|
||||
{
|
||||
if (!strcasecomp (access, "nntp") ||
|
||||
!strcasecomp (access, "snews") ||
|
||||
(!strcasecomp (access, "news") &&
|
||||
!strncasecomp (result, "news://", 7)))
|
||||
{
|
||||
/*
|
||||
* Treat all given nntp or snews paths,
|
||||
* or given paths for news URLs with a host,
|
||||
* as absolute.
|
||||
*/
|
||||
given.absolute = given.relative;
|
||||
given.relative = NULL;
|
||||
}
|
||||
}
|
||||
if (given.absolute)
|
||||
{ /* All is given */
|
||||
if (wanted & PARSE_PUNCTUATION)
|
||||
strcat (result, "/");
|
||||
strcat (result, given.absolute);
|
||||
if (TRACE)
|
||||
fprintf (stderr, "1\n");
|
||||
}
|
||||
else if (related.absolute)
|
||||
{ /* Adopt path not name */
|
||||
strcat (result, "/");
|
||||
strcat (result, related.absolute);
|
||||
if (given.relative)
|
||||
{
|
||||
p = strchr (result, '?'); /* Search part? */
|
||||
if (p == NULL)
|
||||
p = (result + strlen (result) - 1);
|
||||
for (; *p != '/'; p--)
|
||||
; /* last / */
|
||||
p[1] = '\0'; /* Remove filename */
|
||||
strcat (result, given.relative); /* Add given one */
|
||||
HTSimplify (result);
|
||||
}
|
||||
if (TRACE)
|
||||
fprintf (stderr, "2\n");
|
||||
}
|
||||
else if (given.relative)
|
||||
{
|
||||
strcat (result, given.relative); /* what we've got */
|
||||
if (TRACE)
|
||||
fprintf (stderr, "3\n");
|
||||
}
|
||||
else if (related.relative)
|
||||
{
|
||||
strcat (result, related.relative);
|
||||
if (TRACE)
|
||||
fprintf (stderr, "4\n");
|
||||
}
|
||||
else
|
||||
{ /* No inheritance */
|
||||
if (strncasecomp (aName, "lynxcgi:", 8) &&
|
||||
strncasecomp (aName, "lynxexec:", 9) &&
|
||||
strncasecomp (aName, "lynxprog:", 9))
|
||||
{
|
||||
strcat (result, "/");
|
||||
}
|
||||
if (!strcmp (result, "news:/"))
|
||||
result[5] = '*';
|
||||
if (TRACE)
|
||||
fprintf (stderr, "5\n");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Handle the fragment (anchor).
|
||||
*/
|
||||
if (wanted & PARSE_ANCHOR)
|
||||
if ((given.anchor && *given.anchor) ||
|
||||
(!given.anchor && related.anchor))
|
||||
{
|
||||
if (wanted & PARSE_PUNCTUATION)
|
||||
strcat (result, "#");
|
||||
strcat (result, (given.anchor) ?
|
||||
given.anchor : related.anchor);
|
||||
}
|
||||
if (TRACE)
|
||||
fprintf (stderr, "HTParse: result:%s\n", result);
|
||||
FREE (rel);
|
||||
FREE (name);
|
||||
|
||||
StrAllocCopy (return_value, result);
|
||||
FREE (result);
|
||||
|
||||
return return_value; /* exactly the right length */
|
||||
}
|
||||
|
||||
/* Simplify a filename. HTSimplify()
|
||||
** --------------------
|
||||
**
|
||||
** A unix-style file is allowed to contain the seqeunce xxx/../ which may
|
||||
** be replaced by "" , and the seqeunce "/./" which may be replaced by "/".
|
||||
** Simplification helps us recognize duplicate filenames.
|
||||
**
|
||||
** Thus, /etc/junk/../fred becomes /etc/fred
|
||||
** /etc/junk/./fred becomes /etc/junk/fred
|
||||
**
|
||||
** but we should NOT change
|
||||
** http://fred.xxx.edu/../..
|
||||
**
|
||||
** or ../../albert.html
|
||||
*/
|
||||
PUBLIC void HTSimplify ARGS1 (
|
||||
char *, filename)
|
||||
{
|
||||
char *p;
|
||||
char *q, *q1;
|
||||
|
||||
if (filename == NULL)
|
||||
return;
|
||||
|
||||
if ((filename[0] && filename[1]) && strchr (filename, '/') != NULL)
|
||||
{
|
||||
for (p = (filename + 2); *p; p++)
|
||||
{
|
||||
if (*p == '/')
|
||||
{
|
||||
if ((p[1] == '.') && (p[2] == '.') &&
|
||||
(p[3] == '/' || p[3] == '\0'))
|
||||
{
|
||||
/*
|
||||
** Handle "/../" or "/..".
|
||||
*/
|
||||
for (q = (p - 1); (q >= filename) && (*q != '/'); q--)
|
||||
/*
|
||||
** Back up to previous slash or beginning of string.
|
||||
*/
|
||||
;
|
||||
if ((q[0] == '/') && strncmp (q, "/../", 4) &&
|
||||
!((q - 1) > filename && q[-1] == '/'))
|
||||
{
|
||||
/*
|
||||
** Not at beginning of string or in a
|
||||
** host field, so remove the "/xxx/..".
|
||||
*/
|
||||
q1 = (p + 3);
|
||||
p = q;
|
||||
while (*q1 != '\0')
|
||||
*p++ = *q1++;
|
||||
*p = '\0'; /* terminate */
|
||||
#ifdef NOTDEFINED
|
||||
/*
|
||||
** Make sure filename has at least one slash.
|
||||
*/
|
||||
if (*filename == '\0')
|
||||
{
|
||||
*filename = '/';
|
||||
*(filename + 1) = '\0';
|
||||
}
|
||||
#endif /* NOTDEFINED */
|
||||
/*
|
||||
** Start again with previous slash.
|
||||
*/
|
||||
p = (q - 1);
|
||||
}
|
||||
}
|
||||
else if (p[1] == '.' && p[2] == '/')
|
||||
{
|
||||
/*
|
||||
** Handle "./" by removing the characters.
|
||||
*/
|
||||
q = p;
|
||||
q1 = (p + 2);
|
||||
while (*q1 != '\0')
|
||||
*q++ = *q1++;
|
||||
*q = '\0'; /* terminate */
|
||||
p--;
|
||||
}
|
||||
else if (p[1] == '.' && p[2] == '\0')
|
||||
{
|
||||
/*
|
||||
** Handle terminal "." by removing the character.
|
||||
*/
|
||||
p[1] = '\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Make Relative Name. HTRelative()
|
||||
** -------------------
|
||||
**
|
||||
** This function creates and returns a string which gives an expression of
|
||||
** one address as related to another. Where there is no relation, an absolute
|
||||
** address is retured.
|
||||
**
|
||||
** On entry,
|
||||
** Both names must be absolute, fully qualified names of nodes
|
||||
** (no anchor bits)
|
||||
**
|
||||
** On exit,
|
||||
** The return result points to a newly allocated name which, if
|
||||
** parsed by HTParse relative to relatedName, will yield aName.
|
||||
** The caller is responsible for freeing the resulting name later.
|
||||
**
|
||||
*/
|
||||
PUBLIC char *HTRelative ARGS2 (
|
||||
CONST char *, aName,
|
||||
CONST char *, relatedName)
|
||||
{
|
||||
char *result = NULL;
|
||||
CONST char *p = aName;
|
||||
CONST char *q = relatedName;
|
||||
CONST char *after_access = NULL;
|
||||
CONST char *path = NULL;
|
||||
CONST char *last_slash = NULL;
|
||||
int slashes = 0;
|
||||
|
||||
for (; *p; p++, q++)
|
||||
{ /* Find extent of match */
|
||||
if (*p != *q)
|
||||
break;
|
||||
if (*p == ':')
|
||||
after_access = p + 1;
|
||||
if (*p == '/')
|
||||
{
|
||||
last_slash = p;
|
||||
slashes++;
|
||||
if (slashes == 3)
|
||||
path = p;
|
||||
}
|
||||
}
|
||||
|
||||
/* q, p point to the first non-matching character or zero */
|
||||
|
||||
if (!after_access)
|
||||
{ /* Different access */
|
||||
StrAllocCopy (result, aName);
|
||||
}
|
||||
else if (slashes < 3)
|
||||
{ /* Different nodes */
|
||||
StrAllocCopy (result, after_access);
|
||||
}
|
||||
else if (slashes == 3)
|
||||
{ /* Same node, different path */
|
||||
StrAllocCopy (result, path);
|
||||
}
|
||||
else
|
||||
{ /* Some path in common */
|
||||
int levels = 0;
|
||||
for (; *q && (*q != '#'); q++)
|
||||
if (*q == '/')
|
||||
levels++;
|
||||
result = (char *) malloc (3 * levels + strlen (last_slash) + 1);
|
||||
if (result == NULL)
|
||||
outofmem (__FILE__, "HTRelative");
|
||||
result[0] = '\0';
|
||||
for (; levels; levels--)
|
||||
strcat (result, "../");
|
||||
strcat (result, last_slash + 1);
|
||||
}
|
||||
if (TRACE)
|
||||
fprintf (stderr, "HT: `%s' expressed relative to\n `%s' is\n `%s'.",
|
||||
aName, relatedName, result);
|
||||
return result;
|
||||
}
|
@ -1,98 +0,0 @@
|
||||
/* HTParse: URL parsing in the WWW Library
|
||||
** HTPARSE
|
||||
**
|
||||
** This module of the WWW library contains code to parse URLs and various
|
||||
** related things.
|
||||
** Implemented by HTParse.c .
|
||||
*/
|
||||
|
||||
#include "echoping.h"
|
||||
#include <ctype.h>
|
||||
|
||||
#ifndef HTPARSE_H
|
||||
#define HTPARSE_H
|
||||
|
||||
/*
|
||||
** The following are flag bits which may be ORed together to form
|
||||
** a number to give the 'wanted' argument to HTParse.
|
||||
*/
|
||||
#define PARSE_ACCESS 16
|
||||
#define PARSE_HOST 8
|
||||
#define PARSE_PATH 4
|
||||
#define PARSE_ANCHOR 2
|
||||
#define PARSE_PUNCTUATION 1
|
||||
#define PARSE_ALL 31
|
||||
|
||||
/*
|
||||
** The following are valid mask values. The terms are the BNF names
|
||||
** in the URL document.
|
||||
*/
|
||||
#define URL_XALPHAS (unsigned char) 1
|
||||
#define URL_XPALPHAS (unsigned char) 2
|
||||
#define URL_PATH (unsigned char) 4
|
||||
|
||||
/*
|
||||
|
||||
Macros for declarations
|
||||
|
||||
*/
|
||||
#define PUBLIC /* Accessible outside this module */
|
||||
#define PRIVATE static /* Accessible only within this module */
|
||||
|
||||
#ifdef __STDC__
|
||||
#define CONST const /* "const" only exists in STDC */
|
||||
#else
|
||||
#define CONST
|
||||
#endif
|
||||
#define NOPARAMS (void)
|
||||
#define PARAMS(parameter_list) parameter_list
|
||||
#define NOARGS (void)
|
||||
#define ARGS1(t,a) \
|
||||
(t a)
|
||||
#define ARGS2(t,a,u,b) \
|
||||
(t a, u b)
|
||||
#define ARGS3(t,a,u,b,v,c) \
|
||||
(t a, u b, v c)
|
||||
|
||||
|
||||
/* Parse a Name relative to another name. HTParse()
|
||||
** --------------------------------------
|
||||
**
|
||||
** This returns those parts of a name which are given (and requested)
|
||||
** substituting bits from the related name where necessary.
|
||||
**
|
||||
** On entry,
|
||||
** aName A filename given
|
||||
** relatedName A name relative to which aName is to be parsed
|
||||
** wanted A mask for the bits which are wanted.
|
||||
**
|
||||
** On exit,
|
||||
** returns A pointer to a malloc'd string which MUST BE FREED
|
||||
*/
|
||||
extern char *HTParse PARAMS((
|
||||
CONST char *aName,
|
||||
CONST char *relatedName,
|
||||
int wanted));
|
||||
|
||||
#ifndef TOLOWER
|
||||
/* Pyramid and Mips can't uppercase non-alpha */
|
||||
#define TOLOWER(c) (isupper((unsigned char)c) ? tolower((unsigned char)c) : (c))
|
||||
#define TOUPPER(c) (islower((unsigned char)c) ? toupper((unsigned char)c) : (c))
|
||||
#endif /* ndef TOLOWER */
|
||||
|
||||
#define outofmem(file, func)\
|
||||
{ fprintf(stderr,\
|
||||
"\r\n\r\n\r\n%s %s: out of memory. Aborting...\r\n", file, func);\
|
||||
exit(-1);}
|
||||
|
||||
#define StrAllocCopy(dest, src) HTSACopy (&(dest), src)
|
||||
#define StrAllocCat(dest, src) HTSACat (&(dest), src)
|
||||
|
||||
PUBLIC void HTSimplify ARGS1 (
|
||||
char *, filename);
|
||||
|
||||
#endif /* HTPARSE_H */
|
||||
|
||||
/*
|
||||
end of HTParse
|
||||
*/
|
@ -1,109 +0,0 @@
|
||||
echoping appears to compile and run at least on Linux, FreeBSD,
|
||||
NetBSD, MacOS X, Solaris (gcc only) and Tru64. On Mac OS X, you'll
|
||||
probably need a version >= 10.2. Some versions of RedHat 7 ship with a
|
||||
completely broken C compiler (echoping displays negative times).
|
||||
|
||||
You do not have to be root to install it.
|
||||
|
||||
Just type "./configure", then "make", "make test" if you wish (some
|
||||
tests depend on local servers and/or Internet access, interpret with
|
||||
care) and then (as root if necessary), "make install". Since
|
||||
echoping's configure script is quite slow, it is highly recommended to
|
||||
use --config-cache or to have a config.site where it is the default
|
||||
(see autoconf documentation).
|
||||
|
||||
There is also a 'make fulltest' if you want to test more things (which
|
||||
may not be available on your platform).
|
||||
|
||||
"configure" has some options:
|
||||
--disable-http (suppress the HTTP support)
|
||||
--disable-smtp (suppress the SMTP support)
|
||||
--enable-icp (add the ICP support, to monitor Web proxies like Squid)
|
||||
--without-libidn (suppress the IDN support, the handling of Unicode - multi-script - domain names, see RFC 3490)
|
||||
--with-libidn[=/where/is/libidn] (tell the system where to find the GNU libidn library <http://www.josefsson.org/libidn/>)
|
||||
--with-gnutls[=/where/is/gnutls] (add the SSL/TLS support, you will need
|
||||
the GNU TLS library <http://www.gnutls.org/>)
|
||||
--with-ssl[=/where/is/ssl] (add the SSL/TLS support, you will need
|
||||
the OpenSSL library <http://www.openssl.org/>)
|
||||
--disable-ttcp (suppress the T/TCP support which is enabled only if
|
||||
your system supports it - FreeBSD does. See
|
||||
<http://www.kohala.com/start/ttcp.html>)
|
||||
--enable-max-iterations=MAX (limit the number of iterations (-n option for
|
||||
repeated tests) to MAX)
|
||||
--enable-max-request-size=MAX (limit the size of the request (-s option) to MAX)
|
||||
--enable-plugin=LIST (list of plugins to build)
|
||||
|
||||
There is no option to disable IPv6. echoping now uses the new (RFC
|
||||
3493, but first specified in RFC 2133 in september 1997) socket
|
||||
interface, with getnameinfo/getaddrinfo. If your system does not
|
||||
support it (Mac OS X <= 10.1), you have no other choices than using
|
||||
echoping 4.
|
||||
|
||||
There is no option to disable the use of dlopen() or the popt
|
||||
library. dlopen() is necessary for the plugins (and, in the future,
|
||||
all protocol code will be in plugins). The popt library provides a
|
||||
better and easier parsing of options and, more important, is necessary
|
||||
for resuming parsing, something that the plugins rely heavily on. If
|
||||
your system does not support dlopen() or if you do not want to install
|
||||
the popt library (which is free and runs on every Unix), you have no
|
||||
other choices than using echoping 5. popt can be retrieved from, for
|
||||
instance, ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz or
|
||||
ask Freshmeat at http://freshmeat.net/projects/popt/.
|
||||
|
||||
Standard "autoconf/configure" options are supported such as --prefix
|
||||
to set the installation root directory.
|
||||
|
||||
If 'echoping -h' replies with a "404" error while the file really exists,
|
||||
check first that you use the FQDN of the server on the command line
|
||||
(this is a consequence of the HTTP 1.1 protocol, not a bug in echoping
|
||||
and this will show only if the HTTP server uses "virtual hosting").
|
||||
|
||||
The SSL support (with OpenSSL *or* GNU TLS) is not established by
|
||||
default, mostly because cryptography software's status is still
|
||||
unclear in some countries. You have to use --with-ssl (which should be
|
||||
--with--openssl, I know, there are two libraries, with incompatible
|
||||
APIs) or --with-gnutls
|
||||
|
||||
************* Bug reports ***********************
|
||||
|
||||
To report a bug, email Stephane Bortzmeyer
|
||||
<bortz@users.sourceforge.net> (if you have an account at SourceForge,
|
||||
you can use their bug reporting tool, too, at
|
||||
http://sourceforge.net/tracker/?group_id=4581&atid=104581).
|
||||
|
||||
If the problem is at the "./configure" step, do not forget to send
|
||||
configure's output *and* the config.log.
|
||||
|
||||
If the problem is at run-time, please send the output of "echoping -V"
|
||||
(capital V).
|
||||
|
||||
If echoping segfaults, please send me debugging info. To do so:
|
||||
make clean
|
||||
make debug
|
||||
gdb ./echoping
|
||||
run the-options-that-exhibits-the-problem
|
||||
where
|
||||
list
|
||||
print the-variables-displayed
|
||||
|
||||
********** System-specific notes **************
|
||||
|
||||
HP-UX: echoping probably cannot run because it depends on a feature
|
||||
called "back-linking" (the main program must be able to export its
|
||||
symbols to the plugins, and not only the other way around). HP-UX is
|
||||
apparently the only Unix without it (see libtool documentation). No
|
||||
solution yet.
|
||||
|
||||
FreeBSD: popt is a port, so "pkg_add -r popt" will work (or
|
||||
"portinstall popt").
|
||||
|
||||
NetBSD: popt is a port, so "pkg_add popt" will work.
|
||||
|
||||
Debian: echoping is a Debian package so you typically do not need to
|
||||
compile it. If you want to do it, do not forget to install the
|
||||
development versions of the libraries ("apt-get install libpopt-dev").
|
||||
|
||||
$Id$
|
||||
|
||||
|
||||
|
@ -1,5 +0,0 @@
|
||||
www.obspm.fr
|
||||
www.u-tokyo.ac.jp
|
||||
www.fuw.edu.pl
|
||||
www.fuw.edu.pl
|
||||
www.kaist.ac.kr
|
@ -1,79 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
# $Id$
|
||||
|
||||
bin_PROGRAMS = echoping
|
||||
man_MANS = echoping.1
|
||||
echoping_SOURCES = echoping.c error.c readline.c writen.c util.c http.c icp.c HTParse.c echoping.h icp.h HTParse.h smtp.c
|
||||
echoping_LDADD =
|
||||
echoping_LDFLAGS = -export-dynamic
|
||||
DOCS=DETAILS PLUGINS
|
||||
SUBDIRS=plugins
|
||||
|
||||
TESTS=test-echoping-local test-echoping-remote
|
||||
MORE_TESTS=test-echoping-proxy test-echoping-icp test-echoping-crypto test-echoping-tos test-echoping-ipv6 test-echoping-idn test-echoping-plugins
|
||||
|
||||
test: check
|
||||
tests: check
|
||||
|
||||
# TODO: raise a warning at install-time when the prefix changes (just
|
||||
# a warning because we do not want to prevent Debian packages for
|
||||
# being built), otherwise, the plugins will not be found.
|
||||
|
||||
fulltest: test moretest
|
||||
|
||||
moretests: moretest
|
||||
moretest: $(MORE_TESTS)
|
||||
@failed=0; all=0; \
|
||||
srcdir=$(srcdir); export srcdir; \
|
||||
for tst in $(MORE_TESTS); do \
|
||||
if test -f $$tst; then dir=.; \
|
||||
else dir="$(srcdir)"; fi; \
|
||||
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
|
||||
all=`expr $$all + 1`; \
|
||||
echo "PASS: $$tst"; \
|
||||
elif test $$? -ne 77; then \
|
||||
all=`expr $$all + 1`; \
|
||||
failed=`expr $$failed + 1`; \
|
||||
echo "FAIL: $$tst"; \
|
||||
fi; \
|
||||
done; \
|
||||
if test "$$failed" -eq 0; then \
|
||||
banner="All $$all tests passed"; \
|
||||
else \
|
||||
banner="$$failed of $$all tests failed"; \
|
||||
fi; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"; \
|
||||
test "$$failed" -eq 0
|
||||
|
||||
internal_test: internal_tests
|
||||
internal_tests: internal_tests.o $(echoping_OBJECTS)
|
||||
$(CC) $(LDFLAGS) -o $@ $< util.o
|
||||
./internal_tests
|
||||
|
||||
debug:
|
||||
$(MAKE) DEBUG=1 CFLAGS='-g -O0'
|
||||
|
||||
upload: dist
|
||||
@echo "Have you updated ChangeLog and tagged (cvs tag RELEASE_x_x_x) everything?"
|
||||
@echo "If so, make upload-force"
|
||||
|
||||
upload-force: dist
|
||||
scp $(distdir).tar.gz bortzmeyer@ftp.internatif.org:'~ftp/pub/unix/echoping'
|
||||
rm -f upload.log
|
||||
ncftpput -d upload.log upload.sourceforge.net /incoming $(distdir).tar.gz
|
||||
|
||||
realclean: distclean
|
||||
rm -rf *~ autom4te.cache
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(TESTS) $(DOCS) $(MORE_TESTS)
|
||||
|
||||
## Otherwise, we depend on GNUmake, but for CVS users, not for regular
|
||||
## tarball users
|
||||
##AUTOMAKE_OPTIONS = no-dependencies
|
||||
|
||||
|
||||
|
@ -1,903 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# $Id$
|
||||
|
||||
SOURCES = $(echoping_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = echoping$(EXEEXT)
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/compilation.h.in \
|
||||
$(srcdir)/config.h.in $(srcdir)/echoping.1.in \
|
||||
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
|
||||
TODO config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing mkinstalldirs
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure-common.ac $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = echoping.1 compilation.h
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_echoping_OBJECTS = echoping.$(OBJEXT) error.$(OBJEXT) \
|
||||
readline.$(OBJEXT) writen.$(OBJEXT) util.$(OBJEXT) \
|
||||
http.$(OBJEXT) icp.$(OBJEXT) HTParse.$(OBJEXT) smtp.$(OBJEXT)
|
||||
echoping_OBJECTS = $(am_echoping_OBJECTS)
|
||||
echoping_DEPENDENCIES =
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/HTParse.Po ./$(DEPDIR)/echoping.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/error.Po ./$(DEPDIR)/http.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/icp.Po ./$(DEPDIR)/readline.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/smtp.Po ./$(DEPDIR)/util.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/writen.Po
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(echoping_SOURCES)
|
||||
DIST_SOURCES = $(echoping_SOURCES)
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-exec-recursive install-info-recursive \
|
||||
install-recursive installcheck-recursive installdirs-recursive \
|
||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
compil_date = @compil_date@
|
||||
compil_options = @compil_options@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
hostname = @hostname@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
plugins_dir = @plugins_dir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
subdirs = @subdirs@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
man_MANS = echoping.1
|
||||
echoping_SOURCES = echoping.c error.c readline.c writen.c util.c http.c icp.c HTParse.c echoping.h icp.h HTParse.h smtp.c
|
||||
echoping_LDADD =
|
||||
echoping_LDFLAGS = -export-dynamic
|
||||
DOCS = DETAILS PLUGINS
|
||||
SUBDIRS = plugins
|
||||
TESTS = test-echoping-local test-echoping-remote
|
||||
MORE_TESTS = test-echoping-proxy test-echoping-icp test-echoping-crypto test-echoping-tos test-echoping-ipv6 test-echoping-idn test-echoping-plugins
|
||||
EXTRA_DIST = $(man_MANS) $(TESTS) $(DOCS) $(MORE_TESTS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
echoping.1: $(top_builddir)/config.status $(srcdir)/echoping.1.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
compilation.h: $(top_builddir)/config.status $(srcdir)/compilation.h.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
|| test -f $$p1 \
|
||||
; then \
|
||||
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-binPROGRAMS:
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f $$p $$f"; \
|
||||
rm -f $$p $$f ; \
|
||||
done
|
||||
echoping$(EXEEXT): $(echoping_OBJECTS) $(echoping_DEPENDENCIES)
|
||||
@rm -f echoping$(EXEEXT)
|
||||
$(LINK) $(echoping_LDFLAGS) $(echoping_OBJECTS) $(echoping_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HTParse.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echoping.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readline.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writen.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
check-TESTS: $(TESTS)
|
||||
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
|
||||
srcdir=$(srcdir); export srcdir; \
|
||||
list='$(TESTS)'; \
|
||||
if test -n "$$list"; then \
|
||||
for tst in $$list; do \
|
||||
if test -f ./$$tst; then dir=./; \
|
||||
elif test -f $$tst; then dir=; \
|
||||
else dir="$(srcdir)/"; fi; \
|
||||
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
|
||||
all=`expr $$all + 1`; \
|
||||
case " $(XFAIL_TESTS) " in \
|
||||
*" $$tst "*) \
|
||||
xpass=`expr $$xpass + 1`; \
|
||||
failed=`expr $$failed + 1`; \
|
||||
echo "XPASS: $$tst"; \
|
||||
;; \
|
||||
*) \
|
||||
echo "PASS: $$tst"; \
|
||||
;; \
|
||||
esac; \
|
||||
elif test $$? -ne 77; then \
|
||||
all=`expr $$all + 1`; \
|
||||
case " $(XFAIL_TESTS) " in \
|
||||
*" $$tst "*) \
|
||||
xfail=`expr $$xfail + 1`; \
|
||||
echo "XFAIL: $$tst"; \
|
||||
;; \
|
||||
*) \
|
||||
failed=`expr $$failed + 1`; \
|
||||
echo "FAIL: $$tst"; \
|
||||
;; \
|
||||
esac; \
|
||||
else \
|
||||
skip=`expr $$skip + 1`; \
|
||||
echo "SKIP: $$tst"; \
|
||||
fi; \
|
||||
done; \
|
||||
if test "$$failed" -eq 0; then \
|
||||
if test "$$xfail" -eq 0; then \
|
||||
banner="All $$all tests passed"; \
|
||||
else \
|
||||
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
|
||||
fi; \
|
||||
else \
|
||||
if test "$$xpass" -eq 0; then \
|
||||
banner="$$failed of $$all tests failed"; \
|
||||
else \
|
||||
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dashes="$$banner"; \
|
||||
skipped=""; \
|
||||
if test "$$skip" -ne 0; then \
|
||||
skipped="($$skip tests were not run)"; \
|
||||
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
|
||||
dashes="$$skipped"; \
|
||||
fi; \
|
||||
report=""; \
|
||||
if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
|
||||
report="Please report to $(PACKAGE_BUGREPORT)"; \
|
||||
test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
|
||||
dashes="$$report"; \
|
||||
fi; \
|
||||
dashes=`echo "$$dashes" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
test -z "$$skipped" || echo "$$skipped"; \
|
||||
test -z "$$report" || echo "$$report"; \
|
||||
echo "$$dashes"; \
|
||||
test "$$failed" -eq 0; \
|
||||
else :; fi
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/.
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| mkdir "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
(cd $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="../$(top_distdir)" \
|
||||
distdir="../$(distdir)/$$subdir" \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
|
||||
check: check-recursive
|
||||
all-am: Makefile $(PROGRAMS) $(MANS) config.h
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
||||
check-TESTS check-am clean clean-binPROGRAMS clean-generic \
|
||||
clean-libtool clean-recursive ctags ctags-recursive dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-recursive \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-binPROGRAMS install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-man1 install-strip installcheck installcheck-am \
|
||||
installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic maintainer-clean-recursive \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
|
||||
tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-binPROGRAMS uninstall-info-am uninstall-man \
|
||||
uninstall-man1
|
||||
|
||||
|
||||
test: check
|
||||
tests: check
|
||||
|
||||
# TODO: raise a warning at install-time when the prefix changes (just
|
||||
# a warning because we do not want to prevent Debian packages for
|
||||
# being built), otherwise, the plugins will not be found.
|
||||
|
||||
fulltest: test moretest
|
||||
|
||||
moretests: moretest
|
||||
moretest: $(MORE_TESTS)
|
||||
@failed=0; all=0; \
|
||||
srcdir=$(srcdir); export srcdir; \
|
||||
for tst in $(MORE_TESTS); do \
|
||||
if test -f $$tst; then dir=.; \
|
||||
else dir="$(srcdir)"; fi; \
|
||||
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
|
||||
all=`expr $$all + 1`; \
|
||||
echo "PASS: $$tst"; \
|
||||
elif test $$? -ne 77; then \
|
||||
all=`expr $$all + 1`; \
|
||||
failed=`expr $$failed + 1`; \
|
||||
echo "FAIL: $$tst"; \
|
||||
fi; \
|
||||
done; \
|
||||
if test "$$failed" -eq 0; then \
|
||||
banner="All $$all tests passed"; \
|
||||
else \
|
||||
banner="$$failed of $$all tests failed"; \
|
||||
fi; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"; \
|
||||
test "$$failed" -eq 0
|
||||
|
||||
internal_test: internal_tests
|
||||
internal_tests: internal_tests.o $(echoping_OBJECTS)
|
||||
$(CC) $(LDFLAGS) -o $@ $< util.o
|
||||
./internal_tests
|
||||
|
||||
debug:
|
||||
$(MAKE) DEBUG=1 CFLAGS='-g -O0'
|
||||
|
||||
upload: dist
|
||||
@echo "Have you updated ChangeLog and tagged (cvs tag RELEASE_x_x_x) everything?"
|
||||
@echo "If so, make upload-force"
|
||||
|
||||
upload-force: dist
|
||||
scp $(distdir).tar.gz bortzmeyer@ftp.internatif.org:'~ftp/pub/unix/echoping'
|
||||
rm -f upload.log
|
||||
ncftpput -d upload.log upload.sourceforge.net /incoming $(distdir).tar.gz
|
||||
|
||||
realclean: distclean
|
||||
rm -rf *~ autom4te.cache
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,59 +0,0 @@
|
||||
If you want to write your own plugins, you will first have to decide
|
||||
wether your plugin uses a "cooked" hostname or a "raw" one.
|
||||
|
||||
In the first case, the cooked hostname, your plugin will receive from
|
||||
echoping a struct addrinfo. All the DNS stuff, including IDN, is
|
||||
performed by echoping. You can immediately start using the struct
|
||||
addrinfo.
|
||||
|
||||
But some libraries (typically, the one used by the DBMS) do not work
|
||||
on struct addrinfo but on strings such as "dbname=test
|
||||
hostname=foo.bar". Plugins using these libraries will have to use the
|
||||
raw interface. The host name given as argument is ignored.
|
||||
|
||||
You indicate to echoping wether you use the raw interface or the
|
||||
cooked one by returning a port name or NULL from the init() function.
|
||||
|
||||
You will have to provide three functions:
|
||||
|
||||
char * init (const int argc, const char **argv, const echoping_options options))
|
||||
Accepts remaining arguments (you have to use popt to parse them, or do
|
||||
it by hand, getopt does not allow you to resume the parsing) and
|
||||
returns a string identifying the port name (cooked interface) or NULL
|
||||
(raw interface). The options struct will give you the global options
|
||||
(see echoping.h).
|
||||
|
||||
For the cooked interface:
|
||||
|
||||
void start (struct addrinfo *res)
|
||||
Typically just stores the res structure for later use.
|
||||
|
||||
For the raw interface:
|
||||
|
||||
void start_raw ()
|
||||
Typically connects to the server.
|
||||
|
||||
int execute ()
|
||||
Connects and do whatever the protocol requires. It is called once
|
||||
per iteration. It returns >=0 if it succeeds, -1 if it failed
|
||||
temporarily (so echoping will continue its loop) and -2 if it failed
|
||||
permanently (so echoping will stop the iteration).
|
||||
|
||||
void terminate ()
|
||||
Cleans everything. It is called after all iterations.
|
||||
|
||||
Start your plugin source code with:
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "/wherever/echoping/is/installed/echoping.h"
|
||||
|
||||
You can look at random.c, the simplest plugin, and whois.c, the
|
||||
simplest which still does something useful.
|
||||
|
||||
The documentation of the plugin should be in a manual page named
|
||||
echoping_PLUGINNAME. See the above plugins for examples.
|
||||
|
||||
You can write a shell script named test.sh in the plugin directory to
|
||||
test the plugin. test-echoping-plugins will execute it.
|
||||
|
||||
$Id$
|
@ -1,94 +0,0 @@
|
||||
"echoping" is a small program to test (approximatively) performances
|
||||
of a remote host by sending it TCP "echo" (or other protocol, like
|
||||
HTTP) packets.
|
||||
|
||||
To install it, see the INSTALL file. Or type "./configure; make" if
|
||||
you're in a hurry :-)
|
||||
|
||||
To use it, simply:
|
||||
|
||||
% echoping machine.somewhere.org
|
||||
|
||||
or use the options before the machine name (see the man page).
|
||||
|
||||
See the DETAILS file for various traps when benchmarking networks,
|
||||
specially with this program
|
||||
|
||||
In any case, be polite: don't bother the remote host with many repeated
|
||||
requests, especially with large size. Ask for permission if you often
|
||||
test hosts which aren't yours.
|
||||
|
||||
Current features:
|
||||
|
||||
- uses the protocols echo, discard, chargen, HTTP (with SSL/TLS if you
|
||||
wish), ICP or SMTP,
|
||||
- uses UDP instead of TCP for the protocols which accept it (like echo),
|
||||
- can repeat the test and display various measures about it,
|
||||
- supports IPv6 as well as IPv4,
|
||||
- supports IDN (Unicode domain names),
|
||||
- supports plugins written by you, to test even more protocols (see PLUGINS),
|
||||
- can use T/TCP on systems which support it.
|
||||
|
||||
Examples of output:
|
||||
|
||||
(Simple test with 1000 bytes echo TCP packets)
|
||||
% echoping -v -s 1000 mycisco
|
||||
This is echoping, version 2.0.
|
||||
Trying to connect to internet address 10.99.64.1 to transmit 256 bytes...
|
||||
Connected...
|
||||
Sent (1000 bytes)...
|
||||
Checked
|
||||
Elapsed time: 0.059597 seconds
|
||||
%
|
||||
|
||||
(Repeated tests with average and median displayed.)
|
||||
% echoping -n 10 mymachine
|
||||
[...]
|
||||
Minimum time: 0.170719 seconds (1500 bytes per sec.)
|
||||
Maximum time: 0.211176 seconds (1212 bytes per sec.)
|
||||
Average time: 0.184577 seconds (1387 bytes per sec.)
|
||||
Median time: 0.181332 seconds (1412 bytes per sec.)
|
||||
|
||||
(Testing a Web server with an HTTP request for its home page.)
|
||||
% echoping -h / mywww
|
||||
Elapsed time: 0.686792 seconds
|
||||
|
||||
(The exit status is set if there is any problem, so you can use echoping
|
||||
to test repeatedly a Web server, to be sure it runs fine.)
|
||||
|
||||
|
||||
|
||||
-------------
|
||||
The reference site for echoping is:
|
||||
|
||||
http://echoping.sourceforge.net/
|
||||
|
||||
The distribution is from:
|
||||
|
||||
ftp://ftp.internatif.org/pub/unix/echoping
|
||||
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>. October 1995 for the
|
||||
first version.
|
||||
|
||||
---------------------
|
||||
If you want to help and/or motivate echoping and its developer, you
|
||||
can (but are not forced to do so, echoping is free software):
|
||||
|
||||
* Give money through Sourceforge's donation system
|
||||
(http://sourceforge.net/project/project_donations.php?group_id=4581)
|
||||
|
||||
* Use my Amazon's wish list
|
||||
(http://www.amazon.com/gp/registry/23ELBV1YZ93SC)
|
||||
|
||||
* Send me a postcard. I love postcards:
|
||||
Stephane Bortzmeyer
|
||||
12, rue Chauvelot
|
||||
75015 Paris
|
||||
France
|
||||
|
||||
|
||||
|
||||
$Id$
|
||||
|
||||
|
||||
|
@ -1,91 +0,0 @@
|
||||
Actual bugs are registered at SourceForge:
|
||||
|
||||
http://sourceforge.net/bugs/?group_id=4581
|
||||
|
||||
To see a given bug (say #132001):
|
||||
|
||||
http://sourceforge.net/bugs/?group_id=4581&func=detailbug&bug_id=132001
|
||||
|
||||
-------------------------------------
|
||||
|
||||
grep -i TODO *.{c,h}
|
||||
|
||||
is interesting, too.
|
||||
|
||||
------------------------------------
|
||||
|
||||
Wishes:
|
||||
|
||||
Display other calculations such as kurtosis.
|
||||
|
||||
Check the TCP timeout with T/TCP. Difficult to test, few T/TCP
|
||||
machines exist. Timeouts on T/TCP connections are a bit experimental.
|
||||
|
||||
TCP timeout with long packets seem to confuse Cisco routers. Does
|
||||
someone can reproduce it and perform tests? It seems to work now.
|
||||
|
||||
Do not display the end-of-line after the HTTP reply, for instance when
|
||||
a page is moved.
|
||||
|
||||
UDP isn't really useable with large packets because of sockets
|
||||
limitations and the lack of workaround code.
|
||||
|
||||
If a Web page is empty, echoping will display meaningless messages.
|
||||
|
||||
Since echoping writes everything to the server, then begins to read
|
||||
the reply, some echo servers will timeout if you send very long
|
||||
messages, because they expect you to start to read right now.
|
||||
|
||||
Make FLUSH a configure-able option. It would be useful for driving
|
||||
echoping from a GUI application, for instance. Code does exist but
|
||||
untested and probably broken.
|
||||
|
||||
---------------------------------
|
||||
|
||||
New protocols (all with a configure option to enable/disable them
|
||||
since most of them would require an external library)
|
||||
|
||||
* DNS (dig performs some of the functions of echoping but not all: it
|
||||
does not set the return code, it cannot repeat a query, etc)
|
||||
|
||||
* whois
|
||||
|
||||
* LDAP
|
||||
|
||||
* PostgreSQL
|
||||
|
||||
|
||||
---------------------------------
|
||||
|
||||
Long-term wishes (will need much more work):
|
||||
|
||||
Following a suggestion from Tobias Oetiker : the remaining thing is
|
||||
parallel operation ... analog to fping, this would be great as it
|
||||
would increasse the performance of eechoping greatly ... This would
|
||||
require changing echoping and creating a loop around select().
|
||||
|
||||
Adding support for a new protocol (say, DNS, with BIND's library),
|
||||
requires changing too many things. echoping needs a plug-in API, so we
|
||||
can write the new cde outside of echoping and dlopen() it.
|
||||
|
||||
------------------------------------
|
||||
|
||||
Compiler's warnings:
|
||||
|
||||
Tru64's cc:
|
||||
cc -DHAVE_CONFIG_H -I. -I. -I. -D_POSIX_PII_SOCKET -g -c icp.c
|
||||
cc: Warning: icp.c, line 92: In this statement, the referenced type of the pointer value "(int ...)0" is "int", which is not compatible with "unsigned long". (ptrmismatch)
|
||||
nr = recvfrom (sockfd, buf, DEFLINE, 0, (struct sockaddr *) 0, (int *) 0);
|
||||
-----------------------------------------------------------------^
|
||||
|
||||
|
||||
$Id$
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,270 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
dnl Macros beginning with CF_ (mostly) stolen from Lynx
|
||||
dnl Thanks to "T.E.Dickey" <dickey@clark.net>
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Make an uppercase version of a variable
|
||||
dnl $1=uppercase($2)
|
||||
AC_DEFUN([CF_UPPER],
|
||||
[
|
||||
changequote(,)dnl
|
||||
$1=`echo $2 | tr '[a-z]' '[A-Z]'`
|
||||
changequote([,])dnl
|
||||
])dnl
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for existence of external data in the current set of libraries. If
|
||||
dnl we can modify it, it's real enough.
|
||||
dnl $1 = the name to check
|
||||
dnl $2 = its type
|
||||
AC_DEFUN([CF_CHECK_EXTERN_DATA],
|
||||
[
|
||||
AC_MSG_CHECKING(if external $1 exists)
|
||||
AC_CACHE_VAL(cf_cv_have_$1,[
|
||||
AC_TRY_LINK([
|
||||
#undef $1
|
||||
extern $2 $1;
|
||||
],
|
||||
[$1 = 2],
|
||||
[eval 'cf_cv_have_'$1'=yes'],
|
||||
[eval 'cf_cv_have_'$1'=no'])])
|
||||
|
||||
eval 'cf_result=$cf_cv_have_'$1
|
||||
AC_MSG_RESULT($cf_result)
|
||||
|
||||
if test "$cf_result" = yes ; then
|
||||
eval 'cf_result=HAVE_'$1
|
||||
CF_UPPER(cf_result,$cf_result)
|
||||
AC_DEFINE_UNQUOTED($cf_result)
|
||||
fi
|
||||
|
||||
])dnl
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
|
||||
dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
|
||||
dnl ourselves.
|
||||
dnl
|
||||
dnl (I would use AC_CACHE_CHECK here, but it will not work when called in a
|
||||
dnl loop from CF_SYS_ERRLIST).
|
||||
dnl
|
||||
dnl $1 = the name to check
|
||||
AC_DEFUN([CF_CHECK_ERRNO],
|
||||
[
|
||||
AC_MSG_CHECKING(if external $1 is declared)
|
||||
AC_CACHE_VAL(cf_cv_dcl_$1,[
|
||||
AC_TRY_COMPILE([
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <errno.h> ],
|
||||
[long x = (long) $1],
|
||||
[eval 'cf_cv_dcl_'$1'=yes'],
|
||||
[eval 'cf_cv_dcl_'$1'=no]')
|
||||
])
|
||||
eval 'cf_result=$cf_cv_dcl_'$1
|
||||
AC_MSG_RESULT($cf_result)
|
||||
|
||||
if test "$cf_result" = no ; then
|
||||
eval 'cf_result=DECL_'$1
|
||||
CF_UPPER(cf_result,$cf_result)
|
||||
AC_DEFINE_UNQUOTED($cf_result)
|
||||
fi
|
||||
|
||||
# It's possible (for near-UNIX clones) that the data doesn't exist
|
||||
CF_CHECK_EXTERN_DATA($1,int)
|
||||
])dnl
|
||||
|
||||
dnl Useful macros to check libraries which are not implicit
|
||||
dnl in Solaris, for instance.
|
||||
AC_DEFUN([CF_LIB_NSL],
|
||||
[
|
||||
AC_CHECK_LIB(nsl,gethostbyname,
|
||||
[
|
||||
AC_MSG_CHECKING(if libnsl is mandatory)
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
char *domain; ],
|
||||
[gethostbyname(domain)], dnl
|
||||
[AC_MSG_RESULT(no)], dnl
|
||||
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lnsl"])
|
||||
])
|
||||
])
|
||||
AC_DEFUN([CF_LIB_SOCKET],
|
||||
[
|
||||
AC_CHECK_LIB(socket,socket,
|
||||
[
|
||||
AC_MSG_CHECKING(if libsocket is mandatory)
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
union
|
||||
{
|
||||
HEADER hdr;
|
||||
u_char buf[512];
|
||||
}
|
||||
response;
|
||||
char *domain;
|
||||
int requested_type; ],
|
||||
[socket (AF_INET, SOCK_STREAM, 0) ], dnl
|
||||
[AC_MSG_RESULT(no)], dnl
|
||||
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lsocket"])
|
||||
])
|
||||
])
|
||||
AC_DEFUN([CF_LIB_MATH],
|
||||
[
|
||||
AC_CHECK_LIB(m,pow,
|
||||
[
|
||||
AC_MSG_CHECKING(if libmath is mandatory)
|
||||
AC_TRY_LINK([#include <math.h>
|
||||
double a,b; ],
|
||||
[pow(a,b)], dnl
|
||||
[AC_MSG_RESULT(no)], dnl
|
||||
[AC_MSG_RESULT(yes); LIBS="${LIBS} -lm"])
|
||||
])
|
||||
])
|
||||
|
||||
dnl Check the port name for HTTP. Everyone should declare "http" but
|
||||
dnl not everyone does. This test is BUGgy, we should use a program
|
||||
dnl which calls getservbyname() otherwise we miss NIS tables, for
|
||||
dnl instance.
|
||||
AC_DEFUN([CF_CHECK_SERVICES],
|
||||
[
|
||||
AC_MSG_CHECKING(what is the name of the HTTP port in your services database)
|
||||
dnl BUG: We should test it is really the good port and not any mention of "http"
|
||||
if grep http /etc/services > /dev/null; then
|
||||
AC_DEFINE(HTTP_TCP_PORT,"http")
|
||||
AC_MSG_RESULT(http)
|
||||
else
|
||||
dnl BUG: Trap on Solaris with a port whose name begins with "www"...
|
||||
if grep www /etc/services > /dev/null; then
|
||||
AC_DEFINE(HTTP_TCP_PORT,"www")
|
||||
AC_MSG_RESULT(www)
|
||||
else
|
||||
AC_DEFINE(HTTP_TCP_PORT,"undefined:use_:80")
|
||||
AC_MSG_RESULT([undefined, you should add it in your database])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING(what is the name of the ICP port in your services database)
|
||||
if grep icp /etc/services > /dev/null; then
|
||||
AC_DEFINE(ICP_UDP_PORT,"icp")
|
||||
AC_MSG_RESULT(icp)
|
||||
else
|
||||
AC_DEFINE(ICP_UDP_PORT,"undefined:use_:3130")
|
||||
AC_MSG_RESULT([undefined, you should add it in your database])
|
||||
fi
|
||||
])
|
||||
|
||||
# Check GNU libidn
|
||||
# TODO: check the patched libc with AI_IDN. See libidn, in libc/getaddrinfo-idn.txt.
|
||||
AC_DEFUN([CF_LIB_LIBIDN],
|
||||
[
|
||||
AC_CHECK_LIB(idn,idna_to_ascii_8z,
|
||||
[LIBS="${LIBS} -lidn"],
|
||||
[AC_ERROR([Get the GNU libidn library (http://www.josefsson.org/libidn/) in order to use Unicode - multi-script - domain names or use --without-libidn to disable it])], dnl
|
||||
)])
|
||||
|
||||
# Check OpenSSL
|
||||
AC_DEFUN([CF_LIB_OPENSSL],
|
||||
[
|
||||
AC_CHECK_LIB(ssl,SSL_CTX_new,
|
||||
[LIBS="${LIBS} -lssl -lcrypto"],
|
||||
[AC_ERROR([Get the OpenSSL library (http://www.openssl.org/)])], dnl
|
||||
-lcrypto
|
||||
)])
|
||||
|
||||
# Check GNU TLS
|
||||
AC_DEFUN([CF_LIB_GNUTLS],
|
||||
[
|
||||
AC_CHECK_LIB(gnutls,gnutls_global_init,
|
||||
[LIBS="${LIBS} `libgnutls-config --libs`"],
|
||||
[AC_ERROR([Get the GNU TLS library (http://www.gnutls.org/)])], dnl
|
||||
)])
|
||||
|
||||
dnl experimental
|
||||
AC_DEFUN([CF_CHECK_TCP_SERVICE],
|
||||
[
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <unistd.h>
|
||||
int
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
struct servent *sp;
|
||||
if ((sp = getservbyname ("$1", "tcp")) == 0)
|
||||
exit (1);
|
||||
else
|
||||
exit (0);
|
||||
}
|
||||
],
|
||||
ac_last_port=$1
|
||||
,
|
||||
ac_last_port=
|
||||
)])
|
||||
|
||||
dnl Our (W. Richard Stevens') macro to check for a function prototype in
|
||||
dnl a given header.
|
||||
AC_DEFUN(AC_CHECK_FUNC_PROTO,
|
||||
[AC_CACHE_CHECK(for $1 function prototype in $2, ac_cv_have_$1_proto,
|
||||
AC_EGREP_HEADER($1, $2,
|
||||
ac_cv_have_$1_proto=yes,
|
||||
ac_cv_have_$1_proto=no))
|
||||
if test $ac_cv_have_$1_proto = yes ; then
|
||||
ac_tr_func=HAVE_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`_PROTO
|
||||
AC_DEFINE_UNQUOTED($ac_tr_func)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl BROKEN: do not use
|
||||
dnl Copied from autoconf and edited to add an argument: an include file
|
||||
dnl AC_CHECK_FUNC_WITH_HEADER(FUNCTION, HEADER, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
AC_DEFUN(AC_CHECK_FUNC_WITH_HEADER,
|
||||
[AC_MSG_CHECKING([for $1])
|
||||
AC_CACHE_VAL(ac_cv_func_$1,
|
||||
[AC_TRY_LINK(
|
||||
dnl Don't include <ctype.h> because on OSF/1 3.0 it includes <sys/types.h>
|
||||
dnl which includes <sys/select.h> which contains a prototype for
|
||||
dnl select. Similarly for bzero.
|
||||
[/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $1(); below. */
|
||||
#include <assert.h>
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
])dnl
|
||||
[/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char $1();
|
||||
#include <$2>
|
||||
], [
|
||||
/* The GNU C library defines this for functions which it implements
|
||||
to always fail with ENOSYS. Some functions are actually named
|
||||
something starting with __ and the normal name is an alias. */
|
||||
#if defined (__stub_$1) || defined (__stub___$1)
|
||||
choke me
|
||||
#else
|
||||
$1();
|
||||
#endif
|
||||
], eval "ac_cv_func_$1=yes", eval "ac_cv_func_$1=no")])
|
||||
if eval "test \"`echo '$ac_cv_func_'$1`\" = yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$3], , :, [$3])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
ifelse([$4], , , [$4
|
||||
])dnl
|
||||
fi
|
||||
])
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
#define COMPILATION_OPTIONS "@PACKAGE_NAME@ @PACKAGE_VERSION@ compiled with @CC@ on @hostname@ (@host@)\n at @compil_date@ with options:\n@compil_options@\n\nPlugins are searched in @plugins_dir@."
|
||||
|
||||
/* $Id$ */
|
File diff suppressed because it is too large
Load Diff
@ -1,145 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Crypto (TLS) support */
|
||||
#undef GNUTLS
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the `dlopen' function. */
|
||||
#undef HAVE_DLOPEN
|
||||
|
||||
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
|
||||
#undef HAVE_DOPRNT
|
||||
|
||||
/* Define to 1 if you have the `getaddrinfo' function. */
|
||||
#undef HAVE_GETADDRINFO
|
||||
|
||||
/* Define to 1 if you have the `getnameinfo' function. */
|
||||
#undef HAVE_GETNAMEINFO
|
||||
|
||||
/* Define to 1 if you have the `gettimeofday' function. */
|
||||
#undef HAVE_GETTIMEOFDAY
|
||||
|
||||
/* Define to 1 if you have the `inet_ntop' function. */
|
||||
#undef HAVE_INET_NTOP
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `dl' library (-ldl). */
|
||||
#undef HAVE_LIBDL
|
||||
|
||||
/* Define to 1 if you have the `popt' library (-lpopt). */
|
||||
#undef HAVE_LIBPOPT
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `poptGetContext' function. */
|
||||
#undef HAVE_POPTGETCONTEXT
|
||||
|
||||
/* Define to 1 if you have the `sigaction' function. */
|
||||
#undef HAVE_SIGACTION
|
||||
|
||||
/* Define to 1 if you have the `socket' function. */
|
||||
#undef HAVE_SOCKET
|
||||
|
||||
/* Socket priority support */
|
||||
#undef HAVE_SOCKET_PRIORITY
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `strerror' function. */
|
||||
#undef HAVE_STRERROR
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Type Of Service support */
|
||||
#undef HAVE_TOS
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the `usleep' function. */
|
||||
#undef HAVE_USLEEP
|
||||
|
||||
/* Define to 1 if you have the `vprintf' function. */
|
||||
#undef HAVE_VPRINTF
|
||||
|
||||
/* HTTP support */
|
||||
#undef HTTP
|
||||
|
||||
/* ICP support */
|
||||
#undef ICP
|
||||
|
||||
/* Internationalized Domain Names support */
|
||||
#undef LIBIDN
|
||||
|
||||
/* Maximum number of iterations */
|
||||
#undef MAX_ITERATIONS
|
||||
|
||||
/* Maximum size of a request */
|
||||
#undef MAX_LINE
|
||||
|
||||
/* Crypto (SSL) support */
|
||||
#undef OPENSSL
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Directory where the plugins will be installed */
|
||||
#undef PLUGINS_DIR
|
||||
|
||||
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||
#undef RETSIGTYPE
|
||||
|
||||
/* SMTP support */
|
||||
#undef SMTP
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#undef TIME_WITH_SYS_TIME
|
||||
|
||||
/* Transaction TCP support */
|
||||
#undef TTCP
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,8 +0,0 @@
|
||||
dnl $Id$
|
||||
AC_INIT(echoping, 6.0-BETA)
|
||||
AC_CANONICAL_HOST
|
||||
AC_PROG_CC(cc gcc)
|
||||
AC_LIBTOOL_DLOPEN
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
|
@ -1,344 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
m4_include(configure-common.ac)
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl User options
|
||||
dnl http://sources.redhat.com/ml/automake-prs/2001-q3/msg00033.html
|
||||
max_iterations_specified=0
|
||||
AC_ARG_ENABLE(max-iterations,
|
||||
[ --enable-max-iterations=MAX limit the number of iterations (-n option) to MAX],
|
||||
[if test "$enableval" != "no"; then
|
||||
max_iterations_specified=1
|
||||
fi])
|
||||
if test "$max_iterations_specified" = 0; then
|
||||
AC_DEFINE(MAX_ITERATIONS, 20, Maximum number of iterations)
|
||||
else
|
||||
AC_DEFINE_UNQUOTED(MAX_ITERATIONS, $enableval, Maximum number of iterations)
|
||||
fi
|
||||
max_line_specified=0
|
||||
AC_ARG_ENABLE(max-request-size,
|
||||
[ --enable-max-request-size=MAX limit the size of a request to MAX],
|
||||
[if test "$enableval" != "no"; then
|
||||
max_line_specified=1
|
||||
fi])
|
||||
if test "$max_line_specified" = 0; then
|
||||
AC_DEFINE(MAX_LINE, 65535, Maximum size of a request)
|
||||
else
|
||||
AC_DEFINE_UNQUOTED(MAX_LINE, $enableval, Maximum size of a request)
|
||||
fi
|
||||
AC_ARG_ENABLE(http,
|
||||
[ --enable-http HTTP (Web's main protocol) support],dnl
|
||||
[if test "$enableval" = "yes"; then
|
||||
AC_DEFINE(HTTP,,[HTTP support])
|
||||
HTTP=1
|
||||
fi],
|
||||
dnl Default: enable it
|
||||
[AC_DEFINE(HTTP,,[HTTP support])
|
||||
HTTP=1])
|
||||
AC_ARG_ENABLE(icp,
|
||||
[ --enable-icp ICP (for testing Web proxies/caches) support],dnl
|
||||
[if test "$enableval" = "yes"; then
|
||||
AC_DEFINE(ICP,,[ICP support])
|
||||
ICP=1
|
||||
fi])
|
||||
AC_ARG_ENABLE(smtp,
|
||||
[ --enable-smtp SMTP (Mail's main protocol) support],dnl
|
||||
[if test "$enableval" = "yes"; then
|
||||
AC_DEFINE(SMTP,,[SMTP support])
|
||||
SMTP=1
|
||||
fi],
|
||||
dnl Default: enable it
|
||||
[AC_DEFINE(SMTP,,[SMTP support])
|
||||
SMTP=1])
|
||||
dnl IDN
|
||||
dnl Default: enable it
|
||||
LIBIDN=1
|
||||
AC_ARG_WITH(libidn,
|
||||
[ --with-libidn[=DIR] Internationalized Domain Names support (needs GNU libidn)],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
IDNROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$IDNROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$IDNROOT/include"
|
||||
fi
|
||||
else
|
||||
LIBIDN=0
|
||||
fi],
|
||||
)
|
||||
if test "$LIBIDN" = "1"; then
|
||||
AC_DEFINE(LIBIDN,,[Internationalized Domain Names support])
|
||||
fi
|
||||
AC_ARG_WITH(ssl,
|
||||
[ --with-ssl[=DIR] SSL crypt support (needs OpenSSL)],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
AC_DEFINE(OPENSSL,,[Crypto (SSL) support])
|
||||
OPENSSL=1
|
||||
if test "$withval" != "yes"; then
|
||||
SSLROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$SSLROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$SSLROOT/include"
|
||||
fi
|
||||
fi],
|
||||
dnl Default: disable it
|
||||
)
|
||||
AC_ARG_WITH(gnutls,
|
||||
[ --with-gnutls[=DIR] SSL/TLS crypt support (needs GNU TLS), the argument DIR should not be necessary],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
AC_DEFINE(GNUTLS,,[Crypto (TLS) support])
|
||||
GNUTLS=1
|
||||
CPPFLAGS="${CPPFLAGS} `libgnutls-config --cflags`"
|
||||
LDFLAGS="${LDFLAGS} `libgnutls-config --libs`"
|
||||
if test "$withval" != "yes"; then
|
||||
GNUTLSROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$GNUTLSROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$GNUTLSROOT/include"
|
||||
fi
|
||||
fi],
|
||||
dnl Default: disable it
|
||||
)
|
||||
dnl TODO: test if the getopt variable optreset exists and, if it
|
||||
dnl does, we can use getopt (Free BSDs and MacOS X). This implies to
|
||||
dnl maintain the two versions, popt and getopt, while echoping has
|
||||
dnl many options. It probably means a high-level language to describe
|
||||
dnl the options and to produce the two versions. gengetopt is an obvious
|
||||
dnl candidate.
|
||||
AC_ARG_WITH(popt,
|
||||
[ --with-popt[=DIR] popt command-line parsing library],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
POPTROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$POPTROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$POPTROOT/include"
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([The popt command-line parsing library is mandatory for echoping])
|
||||
fi],
|
||||
dnl Default: disable it
|
||||
)
|
||||
dnl See T/TCP later
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl Checks for libraries.
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(sys/time.h unistd.h)
|
||||
|
||||
case $host_os in
|
||||
osf*)
|
||||
# Stupid bug appeared in Tru64-OSF1 v5. socklen_t is undefined without
|
||||
# the following workaround.
|
||||
CPPFLAGS="$CPPFLAGS -D_POSIX_PII_SOCKET"
|
||||
;;
|
||||
*darwin*)
|
||||
# See bug #748145 and #765777
|
||||
CPPFLAGS="$CPPFLAGS -D_BSD_SOCKLEN_T_=int -no-cpp-precomp"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_HEADER_TIME
|
||||
|
||||
dnl Checks for library functions.
|
||||
CF_LIB_SOCKET
|
||||
CF_LIB_NSL
|
||||
CF_LIB_MATH
|
||||
AC_TYPE_SIGNAL
|
||||
AC_FUNC_VPRINTF
|
||||
dnl Some Unices like Tru64 or Mac OS X has getaddrinfo() or
|
||||
dnl getnameinfo() but has it renamed in libc as something else so we
|
||||
dnl must include <netdb.h> to get the redefinition. (Stolen from rsync)
|
||||
dnl autoconf AC_CHECK_FUNCS does not allow headers to be easily included :-(
|
||||
AC_CHECK_FUNCS(getaddrinfo getnameinfo inet_ntop, ,
|
||||
[AC_MSG_CHECKING([$ac_func again by including <netdb.h>])
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>],[$ac_func(NULL, NULL, NULL, NULL);],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_ERROR([Missing mandatory function - echoping now uses the new network functions (RFC 2133) which are mandatory for IPv6])]
|
||||
)])
|
||||
|
||||
AC_CHECK_FUNCS(gettimeofday socket sigaction strerror, , AC_MSG_ERROR(Missing mandatory function))
|
||||
AC_CHECK_FUNCS(poptGetContext, ,
|
||||
[AC_CHECK_LIB(popt,poptGetContext, ,
|
||||
[AC_MSG_ERROR([Missing popt library, get it from ftp://ftp.rpm.org/pub/rpm/dist/rpm-x.y.z])])])
|
||||
AC_CHECK_FUNCS(usleep) dnl TODO: use the Autoconf macro http://www.gnu.org/software/ac-archive/htmldoc/etr_short_sleep.html
|
||||
AC_CHECK_FUNCS(dlopen, ,
|
||||
[AC_CHECK_LIB(dl,dlopen, ,
|
||||
[AC_MSG_ERROR([echoping requires dlopen (dynamic loading of libraries) for plugins])])])
|
||||
|
||||
if test "$LIBIDN" = "1"; then
|
||||
CF_LIB_LIBIDN
|
||||
fi
|
||||
if test "$OPENSSL" = "1" && test "$GNUTLS" = "1"; then
|
||||
AC_MSG_ERROR([Choose OpenSSL or GNU TLS but not both])
|
||||
fi
|
||||
if test "$OPENSSL" = "1"; then
|
||||
CF_LIB_OPENSSL
|
||||
fi
|
||||
if test "$GNUTLS" = "1"; then
|
||||
CF_LIB_GNUTLS
|
||||
fi
|
||||
|
||||
dnl T/TCP
|
||||
AC_MSG_CHECKING([T/TCP])
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
],
|
||||
[int foobar = MSG_EOF;],
|
||||
[AC_DEFINE(TTCP,,[Transaction TCP support])
|
||||
ac_have_ttcp="yes"],
|
||||
ac_have_ttcp=no)
|
||||
AC_MSG_RESULT($ac_have_ttcp)
|
||||
AC_ARG_ENABLE(ttcp,
|
||||
[ --enable-ttcp T/TCP (Transaction TCP) support],
|
||||
[if test "$enableval" = "yes"; then
|
||||
if test $ac_have_ttcp = "yes"; then
|
||||
AC_DEFINE(TTCP,,[Transaction TCP support])
|
||||
TTCP=1
|
||||
else
|
||||
AC_MSG_WARN([No T/TCP support on this system, request ignored])
|
||||
fi
|
||||
fi],
|
||||
dnl Default: enable it if supported
|
||||
if test $ac_have_ttcp = "yes"; then
|
||||
AC_DEFINE(TTCP,,[Transaction TCP support])
|
||||
TTCP=1
|
||||
fi)
|
||||
|
||||
dnl Type Of Service
|
||||
AC_MSG_CHECKING([Type Of Service])
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
],
|
||||
[int foobar = IP_TOS;],
|
||||
[AC_DEFINE(HAVE_TOS,,[Type Of Service support])
|
||||
ac_have_tos="yes"],
|
||||
ac_have_tos="no")
|
||||
AC_MSG_RESULT($ac_have_tos)
|
||||
AC_ARG_ENABLE(tos,
|
||||
[ --enable-tos TOS (Type Of Service) support],
|
||||
[if test "$enableval" = "yes"; then
|
||||
if test $ac_have_tos = "yes"; then
|
||||
AC_DEFINE(HAVE_TOS,,[Type Of Service support])
|
||||
TOS=1
|
||||
else
|
||||
AC_MSG_WARN([No TOS support on this system, request ignored])
|
||||
fi
|
||||
fi],
|
||||
dnl Default: enable it if supported
|
||||
if test $ac_have_tos = "yes"; then
|
||||
AC_DEFINE(HAVE_TOS,,[Type Of Service support])
|
||||
TOS=1
|
||||
fi)
|
||||
|
||||
dnl Socket priority
|
||||
dnl Linux only, it seems. Anyone knows a standard way to do so?
|
||||
AC_MSG_CHECKING([Socket priority])
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
],
|
||||
[int foobar = SO_PRIORITY;],
|
||||
[AC_DEFINE(HAVE_SOCKET_PRIORITY)
|
||||
ac_have_priority="yes"],
|
||||
ac_have_priority="no")
|
||||
AC_MSG_RESULT($ac_have_priority)
|
||||
AC_ARG_ENABLE(priority,
|
||||
[ --enable-priority PRIORITY (socket priority) support],
|
||||
[if test "$enableval" = "yes"; then
|
||||
if test $ac_have_priority = "yes"; then
|
||||
AC_DEFINE(HAVE_SOCKET_PRIORITY,,[Socket priority support])
|
||||
PRIORITY=1
|
||||
else
|
||||
AC_MSG_WARN([No socket priority support on this system, request ignored])
|
||||
fi
|
||||
fi],
|
||||
dnl Default: enable it if supported
|
||||
if test $ac_have_priority = "yes"; then
|
||||
AC_DEFINE(HAVE_SOCKET_PRIORITY,,[Socket priority support])
|
||||
PRIORITY=1
|
||||
fi)
|
||||
|
||||
if test "$GCC" = yes; then
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
|
||||
interpolate() {
|
||||
old=$1
|
||||
eval new=$old
|
||||
if test "$new" != "$old" ; then
|
||||
interpolate $new
|
||||
else
|
||||
echo $new
|
||||
fi
|
||||
}
|
||||
dnl TODO: the following is broken because installation prefix can be changed at instal-time,
|
||||
dnl not compilation time.
|
||||
if test "x$libdir" = 'x${exec_prefix}/lib' ; then # Default value
|
||||
if test "x$exec_prefix" = "xNONE" ; then # Default value
|
||||
if test "x$prefix" = "xNONE" ; then # Default value
|
||||
plugins_dir=`interpolate '$ac_default_prefix/lib/echoping'`
|
||||
else
|
||||
exec_prefix='${prefix}'
|
||||
plugins_dir=`interpolate '$libdir/echoping'`
|
||||
fi
|
||||
else
|
||||
plugins_dir=`interpolate '$libdir/echoping'`
|
||||
fi
|
||||
else
|
||||
plugins_dir=`interpolate '$libdir/echoping'`
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$plugins_dir", [Directory where the plugins will be installed])
|
||||
AC_SUBST(plugins_dir)
|
||||
echo $plugins_dir > plugins/dir
|
||||
AC_CONFIG_SUBDIRS(plugins)
|
||||
|
||||
compil_options=""
|
||||
AC_DEFUN([DISPLAY_SETTING],
|
||||
[
|
||||
echo $ECHO_N $1 ": "
|
||||
compil_options="$compil_options\n$1:"
|
||||
if [ eval 'test "$$1" = "1"' > /dev/null]; then
|
||||
AC_MSG_RESULT( enabled)
|
||||
compil_options="$compil_options enabled"
|
||||
else
|
||||
AC_MSG_RESULT( disabled)
|
||||
compil_options="$compil_options disabled "
|
||||
fi
|
||||
])dnl
|
||||
echo ""
|
||||
echo "Configuration of echoping:"
|
||||
|
||||
DISPLAY_SETTING(HTTP)
|
||||
DISPLAY_SETTING(ICP)
|
||||
DISPLAY_SETTING(OPENSSL)
|
||||
DISPLAY_SETTING(GNUTLS)
|
||||
DISPLAY_SETTING(SMTP)
|
||||
DISPLAY_SETTING(LIBIDN)
|
||||
DISPLAY_SETTING(TTCP)
|
||||
DISPLAY_SETTING(TOS)
|
||||
DISPLAY_SETTING(PRIORITY)
|
||||
|
||||
compil_date=`date +%Y-%m-%d`
|
||||
hostname=$ac_hostname
|
||||
AC_SUBST(hostname)
|
||||
AC_SUBST(compil_options)
|
||||
AC_SUBST(compil_date)
|
||||
AC_OUTPUT(Makefile echoping.1 compilation.h)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
Various echoping goodies, plugins, etc. No warranty at all, no
|
||||
support.
|
||||
|
@ -1,9 +0,0 @@
|
||||
if ADAMSNAMESBUILD
|
||||
bin_PROGRAMS = test-domquery
|
||||
test_domquery_SOURCES = test-domquery.c
|
||||
pkglib_LTLIBRARIES = domquery.la
|
||||
domquery_la_SOURCES = domquery.c util.c
|
||||
domquery_la_LDFLAGS = -module
|
||||
endif
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
#define CLIENT_NAME "XML-RPC Adams Names plugin for echoping"
|
||||
#define CLIENT_VERSION "0.0"
|
||||
|
||||
#define ENDPOINT "http://www.adamsnames.tc/api/xmlrpc"
|
||||
|
||||
poptContext poptcon;
|
||||
xmlrpc_env env;
|
||||
char *domain;
|
||||
|
||||
/* $Id$ */
|
@ -1,15 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
AC_INIT(adamsnames, 0.0-BETA)
|
||||
AC_PROG_CC(cc gcc)
|
||||
AC_PROG_LIBTOOL
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
AC_CHECK_PROG(ADAMSNAMES_BUILD, xmlrpc-c-config, 1, 0)
|
||||
if test "$ADAMSNAMES_BUILD" = 1; then
|
||||
LIBS="${LIBS} `xmlrpc-c-config libwww-client --libs`"
|
||||
CCFLAGS="${CCFLAGS} `xmlrpc-c-config libwww-client --cflags`"
|
||||
fi
|
||||
AM_CONDITIONAL(ADAMSNAMESBUILD, test "$ADAMSNAMES_BUILD" = 1)
|
||||
AC_OUTPUT(Makefile)
|
@ -1,114 +0,0 @@
|
||||
/* echoping plugin to query (with XML-RPC) Adam's Names, the DNS registry.
|
||||
See http://www.adamsnames.tc/api/xmlrpc.html.
|
||||
$Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* http://xmlrpc-c.sourceforge.net/ */
|
||||
#include <xmlrpc.h>
|
||||
#include <xmlrpc_client.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "common.h"
|
||||
|
||||
void
|
||||
domquery_usage (char *msg)
|
||||
{
|
||||
fprintf (stderr, "%s\n", msg);
|
||||
poptPrintUsage (poptcon, stderr, 0);
|
||||
err_quit(" domain");
|
||||
}
|
||||
|
||||
char *
|
||||
init (int argc, char **argv)
|
||||
{
|
||||
int value;
|
||||
xmlrpc_value *result;
|
||||
xmlrpc_bool free, read_contacts;
|
||||
xmlrpc_int32 reason;
|
||||
char *msg, *hostname;
|
||||
|
||||
struct poptOption options[] = {
|
||||
{"read-contacts", 'c', POPT_ARG_NONE, &read_contacts, 0,
|
||||
"Read also the contacts of the domain [NOT IMPLEMENTED]",
|
||||
""},
|
||||
POPT_AUTOHELP POPT_TABLEEND
|
||||
};
|
||||
poptcon = poptGetContext (NULL, argc,
|
||||
argv, options, POPT_CONTEXT_KEEP_FIRST);
|
||||
while ((value = poptGetNextOpt (poptcon)) > 0)
|
||||
{
|
||||
if (value < -1)
|
||||
{
|
||||
sprintf (msg, "%s: %s",
|
||||
poptBadOption (poptcon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror (value));
|
||||
domquery_usage (msg);
|
||||
}
|
||||
}
|
||||
hostname = (char *) poptGetArg (poptcon); /* Not used */
|
||||
domain = (char *) poptGetArg (poptcon);
|
||||
if (domain == NULL || !strcmp(domain, ""))
|
||||
domquery_usage ("Mandatory request missing");
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
start_raw() {
|
||||
|
||||
/* Start up our XML-RPC client library. */
|
||||
xmlrpc_client_init (XMLRPC_CLIENT_NO_FLAGS, CLIENT_NAME, CLIENT_VERSION);
|
||||
|
||||
/* Initialize our error-handling environment. */
|
||||
xmlrpc_env_init (&env);
|
||||
|
||||
printf ("env initialized\n");
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
xmlrpc_value *result;
|
||||
xmlrpc_value *domain_h;
|
||||
xmlrpc_int32 found;
|
||||
xmlrpc_value *error;
|
||||
/* char *dst;
|
||||
dst = HTAnchor_findAddress(ENDPOINT); */
|
||||
printf ("Ready to call\n");
|
||||
/* Call the server */
|
||||
result = xmlrpc_client_call (&env, ENDPOINT, "domquery", "(s)", domain);
|
||||
die_if_fault_occurred (&env);
|
||||
printf ("Call done, now parsing\n");
|
||||
|
||||
xmlrpc_parse_value (&env, result, "{s:i,*}", "found", &found);
|
||||
die_if_fault_occurred (&env);
|
||||
if (found)
|
||||
{
|
||||
printf ("%s is there\n", domain);
|
||||
xmlrpc_parse_value (&env, result, "{s:S,i,s:A,*}", "domain", &domain_h, "found", &found, "error", &error);
|
||||
die_if_fault_occurred (&env);
|
||||
}
|
||||
/* Dispose of our result value. */
|
||||
xmlrpc_DECREF (result);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
/* Clean up our error-handling environment. */
|
||||
xmlrpc_env_clean (&env);
|
||||
|
||||
/* Shutdown our XML-RPC client library. */
|
||||
xmlrpc_client_cleanup ();
|
||||
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/* http://xmlrpc-c.sourceforge.net/ */
|
||||
#include <xmlrpc.h>
|
||||
#include <xmlrpc_client.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#define CLIENT_NAME "XML-RPC Adams Names plugin for echoping"
|
||||
#define CLIENT_VERSION "0.0"
|
||||
|
||||
#define ENDPOINT "http://www.adamsnames.tc/api/xmlrpc"
|
||||
|
||||
void
|
||||
die_if_fault_occurred (xmlrpc_env * env)
|
||||
{
|
||||
if (env->fault_occurred)
|
||||
{
|
||||
fprintf (stderr, "XML-RPC Fault: %s (%d)\n",
|
||||
env->fault_string, env->fault_code);
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
int value;
|
||||
xmlrpc_value *result;
|
||||
xmlrpc_bool free, read_contacts;
|
||||
xmlrpc_int32 reason;
|
||||
xmlrpc_value *domain_h;
|
||||
xmlrpc_int32 found;
|
||||
xmlrpc_value *error;
|
||||
xmlrpc_env env;
|
||||
char *domain;
|
||||
char *date, *holder;
|
||||
|
||||
if (argc != 2)
|
||||
{
|
||||
fprintf (stderr, "Usage: %s domain\n", argv[0]);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
domain = argv[1];
|
||||
|
||||
/* Start up our XML-RPC client library. */
|
||||
xmlrpc_client_init (XMLRPC_CLIENT_NO_FLAGS, CLIENT_NAME, CLIENT_VERSION);
|
||||
|
||||
/* Initialize our error-handling environment. */
|
||||
xmlrpc_env_init (&env);
|
||||
|
||||
/* Call the server */
|
||||
result = xmlrpc_client_call (&env, ENDPOINT, "domquery", "(s)", domain);
|
||||
die_if_fault_occurred (&env);
|
||||
|
||||
xmlrpc_parse_value (&env, result, "{s:i,*}", "found", &found);
|
||||
die_if_fault_occurred (&env);
|
||||
if (found)
|
||||
{
|
||||
printf ("%s is there\n", domain);
|
||||
xmlrpc_parse_value (&env, result, "{s:S,s:i,s:A,*}", "domain",
|
||||
&domain_h, "found", &found, "error", &error);
|
||||
die_if_fault_occurred (&env);
|
||||
/* printf ("Type of domain: %d\n", xmlrpc_value_type(domain_h)); */
|
||||
xmlrpc_parse_value (&env, domain_h, "{s:s,s:s,*}", "registered", &date,
|
||||
"org", &holder);
|
||||
die_if_fault_occurred (&env);
|
||||
printf ("Registered on %s by %s\n", date, holder);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf ("Unknown domain %s\n", domain);
|
||||
}
|
||||
/* Dispose of our result value. */
|
||||
xmlrpc_DECREF (result);
|
||||
/* Clean up our error-handling environment. */
|
||||
xmlrpc_env_clean (&env);
|
||||
|
||||
/* Shutdown our XML-RPC client library. */
|
||||
xmlrpc_client_cleanup ();
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
#include <xmlrpc.h>
|
||||
#include <xmlrpc_client.h>
|
||||
|
||||
void
|
||||
die_if_fault_occurred (xmlrpc_env * env)
|
||||
{
|
||||
if (env->fault_occurred)
|
||||
{
|
||||
err_quit("XML-RPC Fault: %s (%d)\n",
|
||||
env->fault_string, env->fault_code);
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
CCFLAGS=-Wall -O0 -g -fPIC
|
||||
LDFLAGS=-shared
|
||||
|
||||
OBJECTS=daytime.o
|
||||
|
||||
all: daytime.so
|
||||
|
||||
%.o: %.c
|
||||
${CC} ${CCFLAGS} -c -o $@ $<
|
||||
|
||||
%.so: %.o
|
||||
${CC} ${LDFLAGS} -o $@ $<
|
||||
|
||||
clean:
|
||||
-rm -f *.o *.so
|
||||
|
||||
.SECONDARY: ${OBJECTS}
|
@ -1,54 +0,0 @@
|
||||
/*
|
||||
* Daytime (RFC 867) plugin.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
|
||||
struct addrinfo daytime_server;
|
||||
int sockfd;
|
||||
echoping_options options;
|
||||
|
||||
char *
|
||||
init (const int argc, const char **argv, echoping_options global_options)
|
||||
{
|
||||
if (global_options.udp)
|
||||
err_quit ("Sorry, UDP is not yet compatible with this daytime plugin");
|
||||
options = global_options;
|
||||
return "daytime";
|
||||
}
|
||||
|
||||
void
|
||||
start (struct addrinfo *res)
|
||||
{
|
||||
daytime_server = *res;
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
int nr;
|
||||
FILE *file;
|
||||
#define MAX 256
|
||||
char recvline[MAX];
|
||||
if ((sockfd =
|
||||
socket (daytime_server.ai_family, daytime_server.ai_socktype,
|
||||
daytime_server.ai_protocol)) < 0)
|
||||
err_sys ("Can't open socket");
|
||||
if (connect (sockfd, daytime_server.ai_addr, daytime_server.ai_addrlen) < 0)
|
||||
err_sys ("Can't connect to server");
|
||||
if ((file = fdopen (sockfd, "r")) == NULL)
|
||||
err_sys ("Cannot fdopen");
|
||||
nr = readline (file, recvline, MAX, 1);
|
||||
if (options.verbose)
|
||||
printf ("%s", recvline);
|
||||
close (sockfd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
}
|
@ -1,231 +0,0 @@
|
||||
.\" $Id$
|
||||
.TH echoping 1 "November 22, 1996" "ECHOPING" "echoping"
|
||||
.SH NAME
|
||||
echoping \- tests a remote host with TCP or UDP
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [-4]
|
||||
.RI [-6]
|
||||
.RI [-v]
|
||||
.RI [-V]
|
||||
.RI [-r]
|
||||
.RI [-f fill]
|
||||
.RI [-t timeout]
|
||||
.RI [-c]
|
||||
.RI [-d]
|
||||
.RI [-u]
|
||||
.RI [-s size]
|
||||
.RI [-n number]
|
||||
.RI [-w delay]
|
||||
.RI [-h url]
|
||||
.RI [-i url]
|
||||
.RI [-p priority]
|
||||
.RI [-P tos]
|
||||
.RI [-C]
|
||||
.RI [-S]
|
||||
.RI [-A]
|
||||
.RI [-a]
|
||||
.RI [-m plugin]
|
||||
.B hostname
|
||||
[:port]
|
||||
[plugin options...]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.LP
|
||||
.B echoping
|
||||
is a small program to test (approximatively) performances
|
||||
of a remote Internet host by sending it TCP "echo" packets. It can use other
|
||||
protocols as well (HTTP - which makes it a good tool to test Web servers, UDP "echo", etc).
|
||||
.LP
|
||||
.B echoping
|
||||
simply shows the elapsed time, including the time to set up the TCP
|
||||
connection and to transfer the data. Therefore, it is unsuitable to physical
|
||||
line raw throughput measures (unlike bing or treno). On the other end, the
|
||||
action it performs are close from, for instance, a HTTP request and it is meaningful
|
||||
to use it (carefully) to measure Web performances.
|
||||
|
||||
.SH ARGUMENT
|
||||
.IP hostname[:port]
|
||||
Name (or address) of the server to test. For HTTP, you can specify a
|
||||
port number. For HTTP and IPv6, you can use RFC 2732 syntax (you will
|
||||
probably need to escape the brackets from the shell). The name can be
|
||||
an IDN (Unicode domain name).
|
||||
|
||||
.SH OPTIONS
|
||||
.IP -v
|
||||
Verbose
|
||||
.IP -V
|
||||
Displays the compiled-in configuration of echoping. Useful for bug reports.
|
||||
.IP -s\ nnn
|
||||
Size of the data to send. Large values can produce strange results with
|
||||
some echo servers.
|
||||
.IP -n\ nnn
|
||||
Numbers of repeated tests. With this option, you have also the
|
||||
minimum, maximum, average and median time, as well as the standard
|
||||
deviation. The median is the value such that half of the measures are
|
||||
under it and the other half is above. When you measure highly
|
||||
variables values, like it is often the case on the whole Internet,
|
||||
median is better than average to avoid "extreme" values. You can check
|
||||
the "value" of the average by looking at the standard deviation: very
|
||||
roughly, if the standard deviation is more than the half of the
|
||||
average, the average does not mean anything. (See a book about
|
||||
statistics for the details: the reality is far more complicated.)
|
||||
.IP -w\ nnn
|
||||
Number of seconds to wait between two tests (default is one). On
|
||||
systems which have usleep(), you can write it as a fractional number,
|
||||
such as 3.14. Otherwise, use integers.
|
||||
.IP -t\ nnn
|
||||
Number of seconds to wait a reply before giving up. For TCP, this is the
|
||||
maximum number of seconds for the whole connection (setup and data exchange).
|
||||
.IP -u
|
||||
Use UDP instead of TCP
|
||||
.IP -d
|
||||
Use the "discard" service instead of echo
|
||||
.IP -c
|
||||
Use the "chargen" service instead of echo
|
||||
.IP -h\ url
|
||||
Use the HTTP protocol (instead of echo) for the given URL. If the
|
||||
hostname is the Web server, the URL has to
|
||||
be a relative one (for instance '/' or '/pics/foobar.gif') because HTTP 1.0
|
||||
servers will not understand a request for an absolute URL. If the
|
||||
hostname is a proxy/cache like Squid, the URL has to
|
||||
be an absolute one.
|
||||
.IP -i\ url
|
||||
Use the ICP protocol (instead of echo) for the given URL. The URL has to
|
||||
be an absolute one. This is mostly for testing Squid Web proxy/caches.
|
||||
.IP -A
|
||||
Force the proxy (if you use one) to ignore the cache
|
||||
.IP -a
|
||||
Force the proxy (if you use one) to revalidate data with the original server
|
||||
.IP -C
|
||||
Use the SSL/TLS (cryptography) protocol. For HTTP tests only.
|
||||
.IP -S
|
||||
Use the SMTP protocol (instead of echo) for the given server.
|
||||
.IP -r
|
||||
Use T/TCP (if it has been compiled with it). See the INSTALL file for details.
|
||||
.IP -4
|
||||
Use only IPv4 (even if the target machine has an IPv6 address)
|
||||
.IP -6
|
||||
Use only IPv6 (even if the target machine has an IPv4 address)
|
||||
.IP -f\ character
|
||||
Fill the packet with this character (default is random filling)
|
||||
.IP -p\ n
|
||||
Send packets with the socket priority to the integer
|
||||
.IR n .
|
||||
The mapping of the socket priority into a network layer or a link
|
||||
layer priority depends upon the network protocol and link protocol
|
||||
in use. For more details see
|
||||
.B SO_PRIORITY
|
||||
in
|
||||
.BR socket(7).
|
||||
.IP -P\ n
|
||||
Set the IP type of service octet in the transmitted packets to the
|
||||
least significant eight bits of the integer
|
||||
.IR n .
|
||||
See
|
||||
.BR ip(7)
|
||||
or
|
||||
.BR ip(4)
|
||||
(depending on your Unix). /usr/include/netinet/ip.h may contain
|
||||
interesting constants for setting Type Of Service.
|
||||
.IP -m\ plugin
|
||||
Load the given plugin. The plugin is first
|
||||
searched in the normal library directories (see
|
||||
.BR ld.so(8)
|
||||
) then in @plugins_dir@. You can type
|
||||
.BR ls
|
||||
in @plugins_dir@ to get an idea of the available plugins. The documentation for a
|
||||
given plugin is in
|
||||
.BR echoping_PLUGINNAME(1)
|
||||
The plugin-specific options appear
|
||||
.B after
|
||||
the hostname.
|
||||
.SH EXAMPLES
|
||||
.IP echoping\ \-v\ foobar.example.com
|
||||
Tests the remote machine with TCP echo (one test).
|
||||
.IP echoping\ \-n\ 5\ \-w\ 10\ foobar.example.com
|
||||
Tests the remote machine with TCP echo (five tests, every ten seconds).
|
||||
.IP echoping\ \-h\ /\ foobar.example.com
|
||||
Tests the remote Web server and asks its home page. Note you don't
|
||||
indicate the whole URL.
|
||||
.IP echoping\ \-h\ http://www.example.com/\ cache.example.com:3128
|
||||
Tests the remote Web proxy-cache and asks a Web page. Note that you must
|
||||
indicate the whole URL.
|
||||
.IP echoping\ -n\ 3\ -m\ whois\ foobar.example.com\ -r\ tao.example.org
|
||||
Loads the whois plugin and query the host foobar.example.com. "-r
|
||||
tao.example.org" are options specific to the whois plugin.
|
||||
.IP echoping\ -u\ \-P\ 0xa0\ foobar.example.com
|
||||
Sends several UDP Echo packets with an IP Precedence of 5.
|
||||
.SH IP TYPE OF SERVICE OCTET
|
||||
The IP packet header contains 8 bits named the "type of service octet".
|
||||
The value of the octet is set with the
|
||||
.B \-P
|
||||
option. The effects of the octet are defined differently in RFC791
|
||||
.I "Internet Protocol"
|
||||
and RFC2474
|
||||
.IR "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers".
|
||||
|
||||
RFC791 defines
|
||||
.I Precedence
|
||||
which has ascending priorities 0 through to 7, and the bits
|
||||
.IR Delay ,
|
||||
.IR Throughput ,
|
||||
.IR Reliability ,
|
||||
and
|
||||
.I Cost
|
||||
which indicates the application's preference for the properties of
|
||||
the packet's path through the network.
|
||||
.I Precedence
|
||||
is in the most significant three bits of the type of service octet,
|
||||
followed in decending significance order by the
|
||||
.IR D ,
|
||||
.IR T ,
|
||||
.I R
|
||||
and
|
||||
.I C
|
||||
bits. The least significant bit must be zero. Only one of the
|
||||
.IR D ,
|
||||
.IR T ,
|
||||
.I R
|
||||
or
|
||||
.I C
|
||||
bits may be set.
|
||||
|
||||
RFC2474 defines the Distributed Services Code Point, or
|
||||
DSCP.
|
||||
This acts as a selector between 64 possible behaviours that the
|
||||
network can apply to the packet. The
|
||||
.I DSCP
|
||||
is in the most significant six bits of the type of service octet.
|
||||
The remaining least significant two bits of the octet must be
|
||||
zero.
|
||||
|
||||
The numeric arguments to
|
||||
.B -p
|
||||
and
|
||||
.B -P
|
||||
can be in decimal (such as 11), octal (such as 013) or hexadecimal
|
||||
(such as 0x0b). So padding decimal arguments with leading zeros will
|
||||
change the value read.
|
||||
|
||||
You may need to be superuser to set some
|
||||
.B -p
|
||||
or
|
||||
.B -P
|
||||
values (precedence on Linux, for instance).
|
||||
|
||||
.SH BUGS
|
||||
|
||||
See the TODO file or SourceForge bug tracking system at
|
||||
<http://sourceforge.net/bugs/?group_id=4581>.
|
||||
|
||||
.SH SEE ALSO
|
||||
See the README for information about other network measurements programs.
|
||||
|
||||
.SH FILES
|
||||
.IP "\fB@plugins_dir@ \fR" 4
|
||||
Plugins directory
|
||||
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
File diff suppressed because it is too large
Load Diff
@ -1,242 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Settings you should not change -- see below for changeable ones */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* Settings you can change */
|
||||
|
||||
#define DEFLINE 256
|
||||
#define UDPMAX 65535
|
||||
#ifdef HTTP
|
||||
#define MAXTOREAD 150000
|
||||
#endif
|
||||
#ifdef SMTP
|
||||
#define MAXSMTP 1024
|
||||
#define MAXSMTPLINES 30
|
||||
#endif
|
||||
|
||||
/* Probably too many inclusions but this is to keep 'gcc -Wall' happy... */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <stdarg.h>
|
||||
#include <sys/time.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <math.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
/* popt library */
|
||||
#include <popt.h>
|
||||
|
||||
#ifdef OPENSSL
|
||||
#include <openssl/crypto.h>
|
||||
#include <openssl/x509.h>
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/rand.h>
|
||||
#endif /* OpenSSL */
|
||||
|
||||
#ifdef GNUTLS
|
||||
#include <gnutls/gnutls.h>
|
||||
#endif
|
||||
|
||||
#ifdef LIBIDN
|
||||
#include <stringprep.h> /* stringprep_locale_to_utf8() */
|
||||
#include <idna.h> /* idna_to_ascii_from_utf8() */
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef SIGALRM /* Linux... */
|
||||
#define SIGALRM 14 /* alarm clock timeout */
|
||||
#endif
|
||||
#ifndef SIGINT /* Linux... */
|
||||
#define SIGINT 2 /* interrupt, generated from terminal special char */
|
||||
#endif
|
||||
|
||||
#ifndef INADDR_NONE /* SunOS */
|
||||
#define INADDR_NONE (-1)
|
||||
#endif
|
||||
|
||||
#ifndef SOL_IP
|
||||
#define SOL_IP (getprotobyname("ip")->p_proto)
|
||||
#endif
|
||||
|
||||
/* These entities should be in errno.h but some systems do not define
|
||||
them. */
|
||||
#ifdef DECL_SYS_NERR
|
||||
extern int sys_nerr;
|
||||
#endif
|
||||
|
||||
/* If we have it, use it */
|
||||
#ifdef HAVE_SIGACTION
|
||||
#define USE_SIGACTION 1
|
||||
#endif
|
||||
#ifdef HAVE_TTCP
|
||||
#define USE_TTCP 1
|
||||
#endif
|
||||
#ifdef HAVE_TOS
|
||||
#define USE_TOS 1
|
||||
#endif
|
||||
#ifdef HAVE_SOCKET_PRIORITY
|
||||
#define USE_PRIORITY 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef HEADER_INCLUDED
|
||||
typedef union _CHANNEL
|
||||
{
|
||||
FILE *fs;
|
||||
#ifdef OPENSSL
|
||||
SSL *ssl;
|
||||
#endif
|
||||
#ifdef GNUTLS
|
||||
gnutls_session tls;
|
||||
#endif
|
||||
}
|
||||
CHANNEL;
|
||||
|
||||
/* Do not use "short" for "boolean" because popt does not know this
|
||||
type. On a little-endian machine without alignment issues, it may
|
||||
work but not, for instance, on UltraSparc platforms. See for
|
||||
instance Debian bug #254322. */
|
||||
typedef unsigned int boolean;
|
||||
|
||||
struct result
|
||||
{
|
||||
boolean valid;
|
||||
struct timeval timevalue;
|
||||
};
|
||||
|
||||
boolean timeout_flag;
|
||||
struct echoping_struct
|
||||
{
|
||||
boolean udp; /* Use the UDP protocol (TCP is the default) */
|
||||
boolean ttcp;
|
||||
boolean only_ipv4;
|
||||
boolean only_ipv6;
|
||||
boolean verbose;
|
||||
};
|
||||
typedef struct echoping_struct echoping_options;
|
||||
#ifndef IN_PLUGIN
|
||||
/* The functions we will find in the plugin */
|
||||
/* Initializes the plugin with its arguments. Returns the port name or number or NULL if the plugin wants to use the raw interface. */
|
||||
typedef char *(*init_f) (const int argc, const char **argv,
|
||||
const echoping_options global_options);
|
||||
init_f plugin_init;
|
||||
typedef void (*start_f) (struct addrinfo *);
|
||||
start_f plugin_start;
|
||||
typedef void (*start_raw_f) ();
|
||||
start_raw_f plugin_raw_start;
|
||||
typedef int (*execute_f) ();
|
||||
execute_f plugin_execute;
|
||||
typedef void (*terminate_f) ();
|
||||
terminate_f plugin_terminate;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
struct timeval null_timeval;
|
||||
struct timeval max_timeval;
|
||||
|
||||
#define ECHO_TCP_PORT "echo"
|
||||
#define DISCARD_TCP_PORT "discard"
|
||||
#define CHARACTER_GENERATOR_TCP_PORT "chargen"
|
||||
#define DEFAULT_HTTP_TCP_PORT "http"
|
||||
#define DEFAULT_HTTPS_TCP_PORT "https"
|
||||
#define DEFAULT_ICP_UDP_PORT "icp"
|
||||
|
||||
#ifdef HTTP
|
||||
/* Use the old HTTP 1.0 protocol? If yes, set HTTP10 to 1*/
|
||||
#undef HTTP10
|
||||
#endif
|
||||
|
||||
#define USE_ECHO 1
|
||||
#define USE_DISCARD 2
|
||||
#define USE_CHARGEN 3
|
||||
#define USE_HTTP 4
|
||||
#define USE_ICP 5
|
||||
#define USE_SMTP 6
|
||||
|
||||
#define CHARGENERATED " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefg";
|
||||
|
||||
char *server;
|
||||
#ifdef LIBIDN
|
||||
char *locale_server, *ace_server, *utf8_server;
|
||||
#endif
|
||||
|
||||
/* My functions */
|
||||
|
||||
/* error.c */
|
||||
void usage ();
|
||||
void err_sys (char *str, ...);
|
||||
void err_ret (char *str, ...);
|
||||
void err_quit (char *str, ...);
|
||||
char *sys_err_str ();
|
||||
/* writen.c */
|
||||
int writen ();
|
||||
/* readline.c */
|
||||
int readline ();
|
||||
#ifdef OPENSSL
|
||||
int SSL_readline ();
|
||||
#endif
|
||||
#ifdef GNUTLS
|
||||
int TLS_readline ();
|
||||
#endif
|
||||
/* util.c */
|
||||
char *random_string ();
|
||||
void tvsub ();
|
||||
void tvadd ();
|
||||
void tvavg ();
|
||||
void tvmin ();
|
||||
void tvmax ();
|
||||
int tvcmp ();
|
||||
void tvstddev ();
|
||||
double tv2double ();
|
||||
struct timeval double2tv ();
|
||||
/* http.c */
|
||||
#ifdef HTTP
|
||||
char *make_http_sendline ();
|
||||
void find_server_and_port ();
|
||||
/* This one has prototypes, for a very subtile compiler issue. */
|
||||
int read_from_server (CHANNEL fs, short ssl);
|
||||
#endif
|
||||
|
||||
#ifdef ICP
|
||||
#include "icp.h"
|
||||
void *make_icp_sendline ();
|
||||
int recv_icp ();
|
||||
#ifndef HTTP
|
||||
int read_from_server ();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef SMTP
|
||||
int smtp_read_response_from_server ();
|
||||
#endif
|
||||
|
||||
extern char *progname;
|
||||
|
||||
extern boolean timeout_flag;
|
||||
|
||||
#include "compilation.h"
|
||||
|
||||
#ifndef HEADER_INCLUDED
|
||||
#define HEADER_INCLUDED
|
||||
#endif
|
@ -1,52 +0,0 @@
|
||||
# $Id$
|
||||
|
||||
Summary: Program to test network services
|
||||
Name: echoping
|
||||
Version: 5.0.1
|
||||
Release: 1
|
||||
Copyright: GNU
|
||||
Group: Utilities/Network
|
||||
Packager: Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
||||
Source0: echoping-5.0.1.tar.gz
|
||||
Url: http://echoping.sourceforge.net
|
||||
BuildRoot: /var/tmp/echoping
|
||||
Prefix: /usr/local
|
||||
# Requires: openssl
|
||||
# BuildRequires: openssl-devel openssl
|
||||
|
||||
|
||||
%description
|
||||
|
||||
"echoping" is a small program to test (approximatively) performances
|
||||
of a remote host by sending it TCP "echo" (or other protocol, like
|
||||
HTTP) packets.
|
||||
|
||||
|
||||
|
||||
%prep
|
||||
|
||||
%setup -q -n echoping-5.0.1
|
||||
|
||||
%build
|
||||
./configure --prefix=$RPM_BUILD_ROOT/usr/local --enable-http --enable-icp --enable-smtp --enable-ttcp
|
||||
make
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%install
|
||||
make install
|
||||
|
||||
|
||||
%files
|
||||
/
|
||||
%defattr(-,root,root)
|
||||
%doc AUTHORS COPYING ChangeLog DETAILS NEWS README TODO
|
||||
%doc test-echoping-crypto test-echoping-icp test-echoping-local test-echoping-remote
|
||||
|
||||
%changelog
|
||||
* Thu Feb 20 2001 Paco <francisco.monserrat@rediris.es>
|
||||
- RPM package
|
||||
|
||||
|
@ -1,119 +0,0 @@
|
||||
#include "echoping.h"
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Most of error-handling routines stolen from Stevens' books */
|
||||
|
||||
void
|
||||
my_perror ()
|
||||
{
|
||||
fprintf (stderr, " %s\n", sys_err_str ());
|
||||
}
|
||||
|
||||
/*
|
||||
* Recoverable error. Print a message, and return to caller.
|
||||
*
|
||||
* err_ret(str, arg1, arg2, ...)
|
||||
*
|
||||
* The string "str" must specify the conversion specification for any args.
|
||||
*/
|
||||
|
||||
/* VARARGS1 */
|
||||
void
|
||||
err_ret (char *str, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, str);
|
||||
vfprintf (stderr, str, args);
|
||||
va_end (args);
|
||||
|
||||
my_perror ();
|
||||
|
||||
fflush (stdout);
|
||||
fflush (stderr);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fatal error. Print a message and terminate. Don't dump core and don't
|
||||
* print the system's errno value.
|
||||
*
|
||||
* err_quit(str, arg1, arg2, ...)
|
||||
*
|
||||
* The string "str" must specify the conversion specification for any args.
|
||||
*/
|
||||
|
||||
/* VARARGS1 */
|
||||
void
|
||||
err_quit (char *str, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, str);
|
||||
vfprintf (stderr, str, args);
|
||||
fputc ('\n', stderr);
|
||||
va_end (args);
|
||||
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Fatal error related to a system call. Print a message and terminate.
|
||||
* Don't dump core, but do print the system's errno value and its associated
|
||||
* message.
|
||||
*
|
||||
* err_sys(str, arg1, arg2, ...)
|
||||
*
|
||||
* The string "str" must specify the conversion specification for any args.
|
||||
*/
|
||||
|
||||
/* VARARGS1 */
|
||||
void
|
||||
err_sys (char *str, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, str);
|
||||
vfprintf (stderr, str, args);
|
||||
va_end (args);
|
||||
|
||||
my_perror ();
|
||||
|
||||
exit (1);
|
||||
}
|
||||
|
||||
void
|
||||
usage (poptContext context)
|
||||
{
|
||||
poptPrintUsage (context, stderr, 0);
|
||||
fprintf (stderr, " hostname [plugin-options...]\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return a string containing some additional operating-system dependent
|
||||
* information. Note that different versions of UNIX assign different
|
||||
* meanings to the same value of "errno" (compare errno's starting with 35
|
||||
* between System V and BSD, for example). This means that if an error
|
||||
* condition is being sent to another UNIX system, we must interpret the
|
||||
* errno value on the system that generated the error, and not just send the
|
||||
* decimal value of errno to the other system.
|
||||
*/
|
||||
|
||||
char *
|
||||
sys_err_str ()
|
||||
{
|
||||
static char msgstr[200];
|
||||
|
||||
if (errno != 0)
|
||||
{
|
||||
sprintf (msgstr, "(%s)", strerror (errno));
|
||||
}
|
||||
else
|
||||
{
|
||||
msgstr[0] = '\0';
|
||||
}
|
||||
return (msgstr);
|
||||
}
|
@ -1,132 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
#ifdef HTTP
|
||||
#include "HTParse.h"
|
||||
|
||||
|
||||
char big_recvline[MAXTOREAD];
|
||||
|
||||
char *
|
||||
make_http_sendline (char *url, char *host, int port, int nocache)
|
||||
{
|
||||
short sport = (short) port;
|
||||
int size = 200; /* Enough? */
|
||||
char *sendline = (char *) malloc (size);
|
||||
char *hostname = (char *) malloc (size);
|
||||
char *cache_directive = "";
|
||||
#ifdef HTTP10
|
||||
if (nocache)
|
||||
cache_directive = "Pragma: no-cache\r\n"; /* RFC 1945, "Hypertext
|
||||
Transfer Protocol --
|
||||
HTTP/1.0" */
|
||||
sprintf (sendline,
|
||||
"GET %s HTTP/1.0\r\nUser-Agent: Echoping/%s\r\n%s\r\n",
|
||||
url, VERSION, cache_directive);
|
||||
#else
|
||||
if (nocache)
|
||||
{
|
||||
if (nocache == 1)
|
||||
cache_directive = "Cache-control: max-age=0\r\n"; /* Simply force a
|
||||
recheck with the
|
||||
server */
|
||||
else
|
||||
cache_directive = "Cache-control: no-cache\r\n"; /* RFC 2616
|
||||
"Hypertext
|
||||
Transfer
|
||||
Protocol --
|
||||
HTTP/1.1" */
|
||||
}
|
||||
strcpy (hostname, HTParse (url, "", PARSE_HOST));
|
||||
if (!strcmp (hostname, ""))
|
||||
sprintf (hostname, "%s:%d", host, sport);
|
||||
sprintf (sendline,
|
||||
"GET %s HTTP/1.1\r\nUser-Agent: Echoping/%s\r\nHost: %s\r\nConnection: close\r\n%s\r\n",
|
||||
url, VERSION, hostname, cache_directive);
|
||||
free (hostname);
|
||||
#endif
|
||||
return sendline;
|
||||
}
|
||||
|
||||
int
|
||||
read_from_server (CHANNEL fs, short ssl)
|
||||
{
|
||||
int nr = 0;
|
||||
int total = 0;
|
||||
char reply_code;
|
||||
int first_line = TRUE;
|
||||
short body = FALSE;
|
||||
#ifdef OPENSSL
|
||||
int sslcode;
|
||||
#endif
|
||||
while (!body && !timeout_flag)
|
||||
{
|
||||
if (!ssl)
|
||||
nr = readline (fs.fs, big_recvline, MAXTOREAD, TRUE);
|
||||
#ifdef OPENSSL
|
||||
else
|
||||
{
|
||||
nr = SSL_readline (fs.ssl, big_recvline, MAXTOREAD, TRUE);
|
||||
if (nr == -1)
|
||||
{
|
||||
sslcode = ERR_get_error ();
|
||||
err_ret ("SSL_readline error: %s",
|
||||
ERR_error_string (sslcode, NULL));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef GNUTLS
|
||||
else
|
||||
{
|
||||
nr = TLS_readline (fs.tls, big_recvline, MAXTOREAD, TRUE);
|
||||
if (nr == -1)
|
||||
{
|
||||
err_ret ("TLS_readline error: %s", gnutls_strerror (nr));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* printf ("DEBUG: reading \"%s\"\n (%d chars)\n", big_recvline, nr); */
|
||||
/* HTTP replies should be separated by CR-LF. Unfortunately, some
|
||||
servers send only CR :-( */
|
||||
body = ((nr == 2) || (nr == 1)); /* Empty line CR-LF seen */
|
||||
if ((nr < 1) && (timeout_flag)) /* Probably a timeout */
|
||||
return -1;
|
||||
if (nr < 1)
|
||||
/* SourceForge bug #109385 */
|
||||
/* err_sys ("Error reading HTTP header"); */
|
||||
return -1;
|
||||
/* if ((int) big_recvline[nr-1] == 10)
|
||||
nr--; */
|
||||
if (first_line)
|
||||
{
|
||||
reply_code = big_recvline[9]; /* 9 because "HTTP/1.x 200..." */
|
||||
if (reply_code != '2') /* Status codes beginning with 3 are not errors
|
||||
but should never appear in reply to echoping's requests */
|
||||
err_quit ("HTTP error \"%s\"", big_recvline);
|
||||
}
|
||||
total = total + nr;
|
||||
first_line = FALSE;
|
||||
}
|
||||
/* Read the body */
|
||||
if (!ssl)
|
||||
nr = readline (fs.fs, big_recvline, MAXTOREAD, FALSE);
|
||||
#ifdef OPENSSL
|
||||
else
|
||||
nr = SSL_readline (fs.ssl, big_recvline, MAXTOREAD, FALSE);
|
||||
#endif
|
||||
#ifdef GNUTLS
|
||||
else
|
||||
nr = TLS_readline (fs.tls, big_recvline, MAXTOREAD, FALSE);
|
||||
#endif
|
||||
/* printf ("DEBUG: reading body \"%s\"\n (%d chars)\n", big_recvline, nr); */
|
||||
if ((nr < 2) && (timeout_flag)) /* Probably a timeout */
|
||||
return -1;
|
||||
if (nr < 2) /* Hmm, if the body is empty, we'll
|
||||
get a meaningless error message */
|
||||
err_sys ("Error reading HTTP body");
|
||||
total = total + nr;
|
||||
return total; /* How to do if we want only the body's size? */
|
||||
}
|
||||
|
||||
#endif /* HTTP */
|
@ -1,107 +0,0 @@
|
||||
/*
|
||||
* Code contributed by Christian Grimm <grimm@rvs.uni-hannover.de>
|
||||
* and patched by Stephane Bortzmeyer.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
#ifdef ICP
|
||||
|
||||
|
||||
void *
|
||||
make_icp_sendline (url, shost, opcode, length)
|
||||
const char *url;
|
||||
u_num32 *shost;
|
||||
icp_opcode opcode;
|
||||
int *length;
|
||||
|
||||
{
|
||||
icp_common_t *headerp = NULL;
|
||||
char *buf = NULL;
|
||||
char *urloffset = NULL;
|
||||
u_num32 flags = ICP_FLAG_SRC_RTT;
|
||||
u_num32 pad = 0;
|
||||
u_num32 reqnum = 4711;
|
||||
unsigned short buf_len;
|
||||
|
||||
buf_len = sizeof (icp_common_t) + strlen (url) + 1;
|
||||
if (opcode == ICP_OP_QUERY)
|
||||
buf_len += sizeof (u_num32);
|
||||
buf = calloc (buf_len, 1);
|
||||
headerp = (icp_common_t *) buf;
|
||||
headerp->opcode = opcode;
|
||||
headerp->version = ICP_VERSION_CURRENT;
|
||||
headerp->length = htons (buf_len);
|
||||
headerp->reqnum = htonl (reqnum);
|
||||
headerp->flags = htonl (flags);
|
||||
headerp->pad = pad;
|
||||
if (shost)
|
||||
headerp->shostid = htonl (*shost);
|
||||
/* urloffset = (char *) ((int) buf + sizeof(icp_common_t)); */
|
||||
urloffset = (char *) (buf + sizeof (icp_common_t));
|
||||
if (opcode == ICP_OP_QUERY)
|
||||
urloffset += sizeof (u_num32);
|
||||
memcpy (urloffset, url, strlen (url));
|
||||
*length = buf_len;
|
||||
return buf;
|
||||
}
|
||||
|
||||
int
|
||||
recv_icp (sockfd, buf, retcode)
|
||||
int sockfd;
|
||||
char *buf;
|
||||
char *retcode;
|
||||
|
||||
{ /*
|
||||
* based on draft-wessels-icp-v2-02.txt
|
||||
*/
|
||||
icp_common_t *headerp = (icp_common_t *) buf;
|
||||
int nr, length;
|
||||
unsigned char opcode;
|
||||
static char *icp_op_code[] = {
|
||||
/* 0 */ "ICP_OP_INVALID",
|
||||
/* 1 */ "ICP_OP_QUERY",
|
||||
/* 2 */ "ICP_OP_HIT",
|
||||
/* 3 */ "ICP_OP_MISS",
|
||||
/* 4 */ "ICP_OP_ERR",
|
||||
/* 5 */ "",
|
||||
/* 6 */ "",
|
||||
/* 7 */ "",
|
||||
/* 8 */ "",
|
||||
/* 9 */ "",
|
||||
/* 10 */ "ICP_OP_SECHO",
|
||||
/* 11 */ "ICP_OP_DECHO",
|
||||
/* 12 */ "",
|
||||
/* 13 */ "",
|
||||
/* 14 */ "",
|
||||
/* 15 */ "",
|
||||
/* 16 */ "",
|
||||
/* 17 */ "",
|
||||
/* 18 */ "",
|
||||
/* 19 */ "",
|
||||
/* 20 */ "",
|
||||
/* 21 */ "ICP_OP_MISS_NOFETCH",
|
||||
/* 22 */ "ICP_OP_DENIED",
|
||||
/* 23 */ "ICP_OP_HIT_OBJ"
|
||||
};
|
||||
|
||||
|
||||
nr = recvfrom (sockfd, buf, DEFLINE, 0, (struct sockaddr *) 0, (int *) 0);
|
||||
if (nr < 0)
|
||||
{
|
||||
if (timeout_flag)
|
||||
err_quit ("Timeout while reading");
|
||||
else
|
||||
err_sys ("No reply from ICP proxy server");
|
||||
}
|
||||
opcode = headerp->opcode;
|
||||
length = ntohs (headerp->length);
|
||||
sprintf (retcode, "ICP reply: \42%s\42", icp_op_code[opcode]);
|
||||
return length;
|
||||
}
|
||||
|
||||
|
||||
#endif /* ICP */
|
@ -1,60 +0,0 @@
|
||||
#ifndef ICP_HEADER
|
||||
|
||||
#define ICP_HEADER
|
||||
|
||||
/* Version */
|
||||
#define ICP_VERSION_1 1
|
||||
#define ICP_VERSION_2 2
|
||||
#define ICP_VERSION_3 3
|
||||
#define ICP_VERSION_CURRENT ICP_VERSION_2
|
||||
|
||||
#define ICP_FLAG_HIT_OBJ 0x80000000ul
|
||||
#define ICP_FLAG_SRC_RTT 0x40000000ul
|
||||
|
||||
#ifdef __alpha__
|
||||
typedef unsigned int u_num32;
|
||||
#else
|
||||
typedef unsigned long u_num32;
|
||||
#endif
|
||||
|
||||
struct icp_common_s {
|
||||
unsigned char opcode; /* opcode */
|
||||
unsigned char version; /* version number */
|
||||
unsigned short length; /* total length (bytes) */
|
||||
u_num32 reqnum; /* req number (req'd for UDP) */
|
||||
u_num32 flags;
|
||||
u_num32 pad;
|
||||
u_num32 shostid; /* sender host id */
|
||||
};
|
||||
typedef struct icp_common_s icp_common_t;
|
||||
|
||||
typedef enum {
|
||||
ICP_OP_INVALID, /* 00 to insure 0 doesn't get accidently interpreted. */
|
||||
ICP_OP_QUERY, /* 01 query opcode (cl->sv) */
|
||||
ICP_OP_HIT, /* 02 hit (cl<-sv) */
|
||||
ICP_OP_MISS, /* 03 miss (cl<-sv) */
|
||||
ICP_OP_ERR, /* 04 error (cl<-sv) */
|
||||
ICP_OP_SEND, /* 05 send object non-auth (cl->sv) */
|
||||
ICP_OP_SENDA, /* 06 send object authoritative (cl->sv) */
|
||||
ICP_OP_DATABEG, /* 07 first data, but not last (sv<-cl) */
|
||||
ICP_OP_DATA, /* 08 data middle of stream (sv<-cl) */
|
||||
ICP_OP_DATAEND, /* 09 last data (sv<-cl) */
|
||||
ICP_OP_SECHO, /* 10 echo from source (sv<-os) */
|
||||
ICP_OP_DECHO, /* 11 echo from dumb cache (sv<-dc) */
|
||||
ICP_OP_UNUSED0, /* 12 */
|
||||
ICP_OP_UNUSED1, /* 13 */
|
||||
ICP_OP_UNUSED2, /* 14 */
|
||||
ICP_OP_UNUSED3, /* 15 */
|
||||
ICP_OP_UNUSED4, /* 16 */
|
||||
ICP_OP_UNUSED5, /* 17 */
|
||||
ICP_OP_UNUSED6, /* 18 */
|
||||
ICP_OP_UNUSED7, /* 19 */
|
||||
ICP_OP_UNUSED8, /* 20 */
|
||||
ICP_OP_MISS_NOFETCH, /* 21 access denied while reloading */
|
||||
ICP_OP_DENIED, /* 22 access denied (cl<-sv) */
|
||||
ICP_OP_HIT_OBJ, /* 23 hit with object data (cl<-sv) */
|
||||
ICP_OP_END /* 24 marks end of opcodes */
|
||||
} icp_opcode;
|
||||
|
||||
|
||||
#endif /* ICP_HEADER */
|
@ -1,251 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
@ -1,360 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2003-09-02.23
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# 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, 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., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case "$1" in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case "$1" in
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aclocal*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case "$f" in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f y.tab.h ]; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if [ ! -f y.tab.c ]; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f lex.yy.c ]; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||
fi
|
||||
if [ -f "$file" ]; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
|
||||
# We have makeinfo, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
||||
fi
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case "$firstarg" in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case "$firstarg" in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
@ -1,40 +0,0 @@
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
# $Id$
|
||||
|
||||
errstatus=0
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case "$pathcomp" in
|
||||
-* ) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# mkinstalldirs ends here
|
@ -1,12 +0,0 @@
|
||||
SUBDIRS=@subdirs@
|
||||
CONFIGURE_DEPENDENCIES=list-of-dirs.m4 ../configure-common.ac configure-plugins.ac
|
||||
|
||||
list-of-dirs.m4:
|
||||
@echo "dnl Created automatically on `date`" > $@
|
||||
for file in `ls | grep -v CVS | grep -v autom4te`; do \
|
||||
if test -d $$file; then \
|
||||
echo "if test \"\$$$${file}_BUILD\" = 1; then" >> $@ ; \
|
||||
echo " AC_CONFIG_SUBDIRS($$file)" >> $@ ; \
|
||||
echo "fi" >> $@ ; \
|
||||
fi \
|
||||
done
|
@ -1,585 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(top_srcdir)/configure config.guess \
|
||||
config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../configure-common.ac \
|
||||
$(top_srcdir)/list-of-dirs.m4 $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-exec-recursive install-info-recursive \
|
||||
install-recursive installcheck-recursive installdirs-recursive \
|
||||
pdf-recursive ps-recursive uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
plugins_dir = @plugins_dir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
subdirs = @subdirs@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
SUBDIRS = @subdirs@
|
||||
CONFIGURE_DEPENDENCIES = list-of-dirs.m4 ../configure-common.ac configure-plugins.ac
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $$MAKEFLAGS; amf=$$2; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| mkdir "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
(cd $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="../$(top_distdir)" \
|
||||
distdir="../$(distdir)/$$subdir" \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
|
||||
check-am clean clean-generic clean-libtool clean-recursive \
|
||||
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
|
||||
dist-shar dist-tarZ dist-zip distcheck distclean \
|
||||
distclean-generic distclean-libtool distclean-recursive \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-exec install-exec-am \
|
||||
install-info install-info-am install-man install-strip \
|
||||
installcheck installcheck-am installdirs installdirs-am \
|
||||
maintainer-clean maintainer-clean-generic \
|
||||
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
list-of-dirs.m4:
|
||||
@echo "dnl Created automatically on `date`" > $@
|
||||
for file in `ls | grep -v CVS | grep -v autom4te`; do \
|
||||
if test -d $$file; then \
|
||||
echo "if test \"\$$$${file}_BUILD\" = 1; then" >> $@ ; \
|
||||
echo " AC_CONFIG_SUBDIRS($$file)" >> $@ ; \
|
||||
echo "fi" >> $@ ; \
|
||||
fi \
|
||||
done
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
File diff suppressed because it is too large
Load Diff
@ -1,31 +0,0 @@
|
||||
LIBIDN=1
|
||||
AC_ARG_WITH(libidn,
|
||||
[ --with-libidn[=DIR] Internationalized Domain Names support (needs GNU libidn)],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
IDNROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$IDNROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$IDNROOT/include"
|
||||
fi
|
||||
else
|
||||
LIBIDN=0
|
||||
fi],
|
||||
)
|
||||
if test "$LIBIDN" = "1"; then
|
||||
AC_DEFINE(LIBIDN,,[Internationalized Domain Names support])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(popt,
|
||||
[ --with-popt[=DIR] popt command-line parsing library],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
POPTROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$POPTROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$POPTROOT/include"
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([The popt command-line parsing library is mandatory for this plugin])
|
||||
fi],
|
||||
)
|
||||
|
||||
dnl $Id$
|
@ -1,29 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include(../configure-common.ac)
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
dnl TODO: write a XML-RPC plugin for Adamsnames' interface. See a first version in contrib/
|
||||
AC_ARG_ENABLE(plugin,
|
||||
[ --enable-plugin=LIST Build only the following plugins],
|
||||
[if test "$enableval" == "no"; then
|
||||
AC_MSG_ERROR([You cannot disable plugin support])
|
||||
else
|
||||
if test "$enableval" == "yes"; then
|
||||
AC_MSG_ERROR([You must indicate a list of plugins with this option])
|
||||
else
|
||||
plugins=$enableval
|
||||
fi
|
||||
fi],
|
||||
plugins="random whois dns postgresql ldap")
|
||||
for plugin in $plugins; do
|
||||
if test ! -d $srcdir/$plugin ; then
|
||||
AC_MSG_ERROR([No such plugin $plugin])
|
||||
fi
|
||||
eval ${plugin}_BUILD=1
|
||||
done
|
||||
m4_include(list-of-dirs.m4)
|
||||
plugins_dir=`cat dir`
|
||||
AC_SUBST(plugins_dir)
|
||||
AC_OUTPUT(Makefile)
|
||||
echo ""
|
||||
echo Plugins to build: $plugins
|
@ -1,9 +0,0 @@
|
||||
if DNSBUILD
|
||||
pkglib_LTLIBRARIES = dns.la
|
||||
dns_la_SOURCES = dns.c
|
||||
dns_la_LDFLAGS = -module
|
||||
endif
|
||||
|
||||
man_MANS = echoping_dns.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
@ -1,649 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SOURCES = $(dns_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/../../config.guess \
|
||||
$(srcdir)/../../config.sub $(srcdir)/../../depcomp \
|
||||
$(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
|
||||
$(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../configure-common.ac \
|
||||
$(top_srcdir)/../configure-plugins.ac \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||
dns_la_LIBADD =
|
||||
am__dns_la_SOURCES_DIST = dns.c
|
||||
@DNSBUILD_TRUE@am_dns_la_OBJECTS = dns.lo
|
||||
dns_la_OBJECTS = $(am_dns_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/dns.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(dns_la_SOURCES)
|
||||
DIST_SOURCES = $(am__dns_la_SOURCES_DIST)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DNSBUILD_FALSE = @DNSBUILD_FALSE@
|
||||
DNSBUILD_TRUE = @DNSBUILD_TRUE@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@DNSBUILD_TRUE@pkglib_LTLIBRARIES = dns.la
|
||||
@DNSBUILD_TRUE@dns_la_SOURCES = dns.c
|
||||
@DNSBUILD_TRUE@dns_la_LDFLAGS = -module
|
||||
man_MANS = echoping_dns.1
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
dns.la: $(dns_la_OBJECTS) $(dns_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(pkglibdir) $(dns_la_LDFLAGS) $(dns_la_OBJECTS) $(dns_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/.. $(distdir)/../..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(MANS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-man1 install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-man uninstall-man1 \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,76 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `bind' library (-lbind). */
|
||||
#undef HAVE_LIBBIND
|
||||
|
||||
/* Define to 1 if you have the `popt' library (-lpopt). */
|
||||
#undef HAVE_LIBPOPT
|
||||
|
||||
/* Define to 1 if you have the `resolv' library (-lresolv). */
|
||||
#undef HAVE_LIBRESOLV
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `poptGetContext' function. */
|
||||
#undef HAVE_POPTGETCONTEXT
|
||||
|
||||
/* Define if you have the _res variable */
|
||||
#undef HAVE_RES
|
||||
|
||||
/* Define if you have the _res_ext variable (for IPv6) */
|
||||
#undef HAVE_RES_EXT
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Internationalized Domain Names support */
|
||||
#undef LIBIDN
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
File diff suppressed because it is too large
Load Diff
@ -1,42 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include([../../configure-common.ac])
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
m4_include([../configure-plugins.ac])
|
||||
|
||||
DNS_BUILD=1
|
||||
AC_CHECK_FUNCS(poptGetContext,,
|
||||
[AC_CHECK_LIB(popt,poptGetContext,,[AC_MSG_WARN([No popt development environment found, not building this plugin]) && DNS_BUILD=0])])
|
||||
if test "$DNS_BUILD" != "0"; then
|
||||
AC_CHECK_FUNC(res_mkquery, ,
|
||||
[AC_CHECK_LIB(bind, res_mkquery, ,
|
||||
[AC_CHECK_LIB(resolv, res_mkquery, ,
|
||||
[AC_MSG_ERROR([No DNS resolver development environment found, not building this plugin]) && DNS_BUILD=0])])])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([_res ])
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>],
|
||||
[_res.options = RES_INIT;],
|
||||
AC_DEFINE(HAVE_RES, , [Define if you have the _res variable])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no));
|
||||
AC_MSG_CHECKING([_res_ext ])
|
||||
AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>],
|
||||
[_res_ext.nsaddr_list[0].ss_family = AF_INET6;],
|
||||
AC_DEFINE(HAVE_RES_EXT, , [Define if you have the _res_ext variable (for IPv6)])
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no));
|
||||
|
||||
AM_CONDITIONAL(DNSBUILD, test "$DNS_BUILD" = 1)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -1,232 +0,0 @@
|
||||
/*
|
||||
* DNS plugin. $Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
|
||||
struct addrinfo name_server;
|
||||
poptContext dns_poptcon;
|
||||
char *request;
|
||||
int type;
|
||||
char *type_name = NULL;
|
||||
boolean use_tcp = FALSE;
|
||||
boolean no_recurse = FALSE;
|
||||
|
||||
/* nsError stolen from Liu & Albitz check_soa (in their book "DNS and BIND") */
|
||||
|
||||
/****************************************************************
|
||||
* nsError -- Print an error message from h_errno for a failure *
|
||||
* looking up NS records. res_query() converts the DNS *
|
||||
* packet return code to a smaller list of errors and *
|
||||
* places the error value in h_errno. There is a routine *
|
||||
* called herror() for printing out strings from h_errno *
|
||||
* like perror() does for errno. Unfortunately, the *
|
||||
* herror() messages assume you are looking up address *
|
||||
* records for hosts. In this program, we are looking up *
|
||||
* NS records for domains, so we need our own list of error *
|
||||
* strings. *
|
||||
****************************************************************/
|
||||
int
|
||||
nsError (error, domain)
|
||||
int error;
|
||||
char *domain;
|
||||
{
|
||||
switch (error)
|
||||
{
|
||||
case HOST_NOT_FOUND:
|
||||
err_ret ("Unknown domain: %s\n", domain);
|
||||
return -1;
|
||||
case NO_DATA:
|
||||
err_ret ("No records of type %s for %s in the Answer section\n",
|
||||
to_upper (type_name), domain);
|
||||
return -1;
|
||||
case TRY_AGAIN:
|
||||
err_ret ("No response for query\n");
|
||||
return -2;
|
||||
default:
|
||||
err_ret ("Unexpected error\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
dns_usage (const char *msg)
|
||||
{
|
||||
if (msg) {
|
||||
fprintf(stderr, "Error: %s\n", msg);
|
||||
}
|
||||
poptPrintUsage(dns_poptcon, stderr, 0);
|
||||
fprintf(stderr, " request\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
char *
|
||||
init (const int argc, const char **argv)
|
||||
{
|
||||
int value;
|
||||
char *hostname;
|
||||
char *msg = malloc (256);
|
||||
char *upper_type_name = NULL;
|
||||
/* popt variables */
|
||||
struct poptOption options[] = {
|
||||
{"type", 't', POPT_ARG_STRING, &type_name, 0,
|
||||
"Type of resources queried (A, MX, SOA, etc)",
|
||||
"type"},
|
||||
{"tcp", NULL, POPT_ARG_NONE, &use_tcp, 0,
|
||||
"Use TCP for the request (virtual circuit)",
|
||||
"tcp"},
|
||||
{"no-recurse", NULL, POPT_ARG_NONE, &no_recurse, 0,
|
||||
"Do not ask recursion",
|
||||
"no-recurse"},
|
||||
POPT_AUTOHELP POPT_TABLEEND
|
||||
};
|
||||
dns_poptcon = poptGetContext (NULL, argc,
|
||||
argv, options, POPT_CONTEXT_KEEP_FIRST);
|
||||
while ((value = poptGetNextOpt (dns_poptcon)) > 0)
|
||||
{
|
||||
}
|
||||
if (value < -1)
|
||||
{
|
||||
sprintf (msg, "%s: %s",
|
||||
poptBadOption (dns_poptcon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror (value));
|
||||
dns_usage (msg);
|
||||
}
|
||||
hostname = (char *) poptGetArg (dns_poptcon); /* Not used */
|
||||
request = (char *) poptGetArg (dns_poptcon);
|
||||
if (request == NULL)
|
||||
dns_usage ("Mandatory request missing");
|
||||
if ((type_name == NULL) || !strcmp (type_name, ""))
|
||||
{
|
||||
type = T_A;
|
||||
type_name = "A";
|
||||
}
|
||||
else
|
||||
{
|
||||
upper_type_name = (char *) to_upper (type_name);
|
||||
/*
|
||||
* TODO: a better algorithm. Use dns_rdatatype_fromtext in
|
||||
* BIND ?
|
||||
*/
|
||||
if (!strcmp (upper_type_name, "A"))
|
||||
type = T_A;
|
||||
else if (!strcmp (upper_type_name, "AAAA"))
|
||||
type = T_AAAA;
|
||||
else if (!strcmp (upper_type_name, "NS"))
|
||||
type = T_NS;
|
||||
else if (!strcmp (upper_type_name, "SOA"))
|
||||
type = T_SOA;
|
||||
else if (!strcmp (upper_type_name, "MX"))
|
||||
type = T_MX;
|
||||
else if (!strcmp (upper_type_name, "SRV"))
|
||||
type = T_SRV;
|
||||
else if (!strcmp (upper_type_name, "CNAME"))
|
||||
type = T_CNAME;
|
||||
else if (!strcmp (upper_type_name, "PTR"))
|
||||
type = T_PTR;
|
||||
else if (!strcmp (upper_type_name, "TXT"))
|
||||
type = T_TXT;
|
||||
else if (!strcmp (upper_type_name, "ANY"))
|
||||
type = T_ANY;
|
||||
else
|
||||
dns_usage ("Unknown type");
|
||||
}
|
||||
return "domain";
|
||||
}
|
||||
|
||||
void
|
||||
start (struct addrinfo *res)
|
||||
{
|
||||
struct sockaddr name_server_sockaddr;
|
||||
struct sockaddr_in name_server_sockaddr_in;
|
||||
struct sockaddr_in6 name_server_sockaddr_in6;
|
||||
name_server = *res;
|
||||
name_server_sockaddr = *name_server.ai_addr;
|
||||
if (name_server_sockaddr.sa_family == AF_INET)
|
||||
{
|
||||
/* Converts a generic sockaddr to an IPv4 sockaddr_in */
|
||||
(void) memcpy ((void *) &name_server_sockaddr_in, &name_server_sockaddr,
|
||||
sizeof (struct sockaddr));
|
||||
}
|
||||
else if (name_server_sockaddr.sa_family == AF_INET6)
|
||||
{
|
||||
/* TODO: the code for IPv6 servers is hopelessly broken. Start again */
|
||||
fprintf (stderr, "WARNING: IPv6 nameservers not really supported yet (experts may apply). Falling back to IPv4 and the default server. You may use -4, too\n");
|
||||
#ifdef HAVE_RES_EXT
|
||||
/* Converts a generic sockaddr to an IPv6 sockaddr_in6 */
|
||||
(void) memcpy ((void *) &name_server_sockaddr_in6,
|
||||
&name_server_sockaddr, sizeof (struct sockaddr));
|
||||
#else
|
||||
err_quit
|
||||
("IPv6 name servers not supported on this platform, may be you should use the -4 option");
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
err_quit ("Unknown family for address of the server");
|
||||
}
|
||||
if (res_init () < 0)
|
||||
err_sys ("res_init");
|
||||
if (name_server_sockaddr.sa_family == AF_INET)
|
||||
{
|
||||
_res.nsaddr_list[0] = name_server_sockaddr_in;
|
||||
}
|
||||
else if (name_server_sockaddr.sa_family == AF_INET6)
|
||||
{
|
||||
#ifdef HAVE_RES_EXT
|
||||
/* TODO: completely broken, dioes not work. Check in Stevens */
|
||||
(void)memcpy(_res_ext.nsaddr_list, &name_server_sockaddr_in6, sizeof(struct sockaddr_in6));
|
||||
#endif
|
||||
}
|
||||
_res.nscount = 1;
|
||||
_res.options &= ~(RES_DNSRCH | RES_DEFNAMES | RES_NOALIASES);
|
||||
if (use_tcp)
|
||||
{
|
||||
_res.options |= RES_USEVC;
|
||||
}
|
||||
if (no_recurse)
|
||||
{
|
||||
_res.options &= ~RES_RECURSE;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
union
|
||||
{
|
||||
HEADER hdr; /* defined in resolv.h */
|
||||
u_char buf[PACKETSZ]; /* defined in arpa/nameser.h */
|
||||
} response; /* response buffers */
|
||||
int response_length; /* buffer length */
|
||||
if ((response_length = res_query (request, /* the domain we care
|
||||
* about */
|
||||
C_IN, /* Internet class records */
|
||||
type, (u_char *) & response, /* response buffer */
|
||||
sizeof (response))) /* buffer size */
|
||||
< 0)
|
||||
{ /* If negative */
|
||||
nsError (h_errno, request); /* report the error */
|
||||
if (h_errno == TRY_AGAIN)
|
||||
return -1; /* More luck next time? */
|
||||
else
|
||||
return -2; /* Give in */
|
||||
}
|
||||
/*
|
||||
* TODO: better analysis of the replies. For instance, replies can be
|
||||
* in the authority section (delegation info)
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" $Id$
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH ECHOPING_DNS 1 "May 26, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
echoping_dns \- echoping plugin which queries a DNS server
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [echoping\ options]
|
||||
.RI -m\ dns
|
||||
.B hostname
|
||||
.B request
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
dns is an echoping plugin, fo testing the performances of DNS (RFC
|
||||
1034 and 1035) servers.
|
||||
.SH ARGUMENTS
|
||||
.B request
|
||||
A domain name
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-t, \-\-type
|
||||
The type of data requested (NS, A, SOA, etc)
|
||||
.TP
|
||||
.B \-\-no-recurse
|
||||
Do not request recursive queries
|
||||
.TP
|
||||
.B \-\-tcp
|
||||
Use only TCP ("virtual circuit")
|
||||
.SH SEE ALSO
|
||||
.BR echoping (1),
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
@ -1,10 +0,0 @@
|
||||
if LDAPBUILD
|
||||
pkglib_LTLIBRARIES = ldap.la
|
||||
ldap_la_SOURCES = ldap.c
|
||||
ldap_la_LDFLAGS = -module
|
||||
man_MANS = echoping_ldap.1
|
||||
endif
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
# $Id$
|
@ -1,651 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SOURCES = $(ldap_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/../../config.guess \
|
||||
$(srcdir)/../../config.sub $(srcdir)/../../depcomp \
|
||||
$(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
|
||||
$(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../configure-common.ac \
|
||||
$(top_srcdir)/../configure-plugins.ac \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||
ldap_la_LIBADD =
|
||||
am__ldap_la_SOURCES_DIST = ldap.c
|
||||
@LDAPBUILD_TRUE@am_ldap_la_OBJECTS = ldap.lo
|
||||
ldap_la_OBJECTS = $(am_ldap_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ldap.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(ldap_la_SOURCES)
|
||||
DIST_SOURCES = $(am__ldap_la_SOURCES_DIST)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDAPBUILD_FALSE = @LDAPBUILD_FALSE@
|
||||
LDAPBUILD_TRUE = @LDAPBUILD_TRUE@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@LDAPBUILD_TRUE@pkglib_LTLIBRARIES = ldap.la
|
||||
@LDAPBUILD_TRUE@ldap_la_SOURCES = ldap.c
|
||||
@LDAPBUILD_TRUE@ldap_la_LDFLAGS = -module
|
||||
@LDAPBUILD_TRUE@man_MANS = echoping_ldap.1
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
ldap.la: $(ldap_la_OBJECTS) $(ldap_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(pkglibdir) $(ldap_la_LDFLAGS) $(ldap_la_OBJECTS) $(ldap_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/.. $(distdir)/../..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(MANS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-man1 install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-man uninstall-man1 \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
|
||||
# $Id$
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,70 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `ldap_open' function. */
|
||||
#undef HAVE_LDAP_OPEN
|
||||
|
||||
/* Define to 1 if you have the `ldap' library (-lldap). */
|
||||
#undef HAVE_LIBLDAP
|
||||
|
||||
/* Define to 1 if you have the `popt' library (-lpopt). */
|
||||
#undef HAVE_LIBPOPT
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `poptGetContext' function. */
|
||||
#undef HAVE_POPTGETCONTEXT
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Internationalized Domain Names support */
|
||||
#undef LIBIDN
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
File diff suppressed because it is too large
Load Diff
@ -1,19 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include([../../configure-common.ac])
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
m4_include([../configure-plugins.ac])
|
||||
|
||||
LDAP_BUILD=1
|
||||
AC_CHECK_FUNCS(poptGetContext,,
|
||||
[AC_CHECK_LIB(popt,poptGetContext,,[AC_MSG_WARN([No popt development environment found, not building this plugin]) && LDAP_BUILD=0])])
|
||||
if test "$LDAP_BUILD" != "0"; then
|
||||
AC_CHECK_FUNCS(ldap_open, ,
|
||||
[AC_CHECK_LIB(ldap,ldap_open,,
|
||||
[AC_MSG_WARN([No LDAP development environment found, not building this plugin]) && LDAP_BUILD=0])])
|
||||
fi
|
||||
AM_CONDITIONAL(LDAPBUILD, test "$LDAP_BUILD" = 1)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -1,52 +0,0 @@
|
||||
.\" $Id$
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH ECHOPING_LDAP 1 "May 26, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
echoping_ldap \- echoping plugin which connects to a LDAP server
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [echoping\ options]
|
||||
.RI -m\ ldap
|
||||
.B hostname
|
||||
.RI [-b base]
|
||||
.RI [-r request]
|
||||
.RI [-s scope]
|
||||
.RI [-p port]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
ldap is an echoping plugin to connect to LDAP servers.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-r request
|
||||
The request to the LDAP server, in LDAP filter language. By default (objectclass=*).
|
||||
.TP
|
||||
.B \-b base
|
||||
Base of the search, for instance "dc=current,dc=bugs,dc=debian,dc=org"
|
||||
.TP
|
||||
.B \-s scope
|
||||
Scope of the search, "sub", "one" or "base"
|
||||
.TP
|
||||
.B \-p port
|
||||
TCP port to use
|
||||
.SH SEE ALSO
|
||||
.BR echoping (1),
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
@ -1,163 +0,0 @@
|
||||
/*
|
||||
* LDAP plugin. TODO: loops with and without opening the connection each
|
||||
* time? $Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "../../config.h"
|
||||
#include "config.h"
|
||||
#endif
|
||||
#include <ldap.h>
|
||||
|
||||
const char *request = NULL;
|
||||
const char *base = NULL;
|
||||
int scope = LDAP_SCOPE_BASE;
|
||||
const char *hostname;
|
||||
int port = 0;
|
||||
LDAP *session;
|
||||
poptContext ldap_poptcon;
|
||||
echoping_options global_options;
|
||||
|
||||
void
|
||||
ldap_usage (const char *msg)
|
||||
{
|
||||
if (msg)
|
||||
{
|
||||
printf ("LDAP plugin error: %s\n", msg);
|
||||
}
|
||||
poptPrintUsage (ldap_poptcon, stdout, 0);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
char *
|
||||
init (const int argc, const char **argv,
|
||||
const echoping_options global_external_options)
|
||||
{
|
||||
int value;
|
||||
char *msg = malloc (MAX_LINE);
|
||||
char *rest, *port_text;
|
||||
char *scope_string = NULL;
|
||||
/* popt variables */
|
||||
struct poptOption options[] = {
|
||||
{"request", 'r', POPT_ARG_STRING, &request, 0,
|
||||
"Request (filter) to send to the LDAP server", "r"},
|
||||
{"base", 'b', POPT_ARG_STRING, &base, 0,
|
||||
"Base of the LDAP tree", "b"},
|
||||
{"scope", 's', POPT_ARG_STRING, &scope_string, 0,
|
||||
"Scope of the search in the LDAP tree (sub, one or base)", "s"},
|
||||
{"port", 'p', POPT_ARG_INT, &port, 0,
|
||||
"TCP port to connect to the LDAP server", "p"},
|
||||
POPT_AUTOHELP POPT_TABLEEND
|
||||
};
|
||||
global_options = global_external_options;
|
||||
if (global_options.udp)
|
||||
err_quit ("UDP makes no sense for a LDAP connection");
|
||||
ldap_poptcon = poptGetContext (NULL, argc,
|
||||
argv, options, POPT_CONTEXT_KEEP_FIRST);
|
||||
while ((value = poptGetNextOpt (ldap_poptcon)) > 0)
|
||||
{
|
||||
}
|
||||
if (value < -1)
|
||||
{
|
||||
sprintf (msg, "%s: %s",
|
||||
poptBadOption (ldap_poptcon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror (value));
|
||||
ldap_usage (msg);
|
||||
}
|
||||
if (port == 0)
|
||||
port = LDAP_PORT;
|
||||
hostname = poptGetArg (ldap_poptcon);
|
||||
rest = poptGetArg (ldap_poptcon);
|
||||
if (rest != NULL)
|
||||
{
|
||||
fprintf (stderr, "%s: ", rest);
|
||||
ldap_usage ("Additional arguments");
|
||||
}
|
||||
if (base == NULL)
|
||||
base = "";
|
||||
if (request == NULL || !strcmp (request, ""))
|
||||
request = "(objectclass=*)";
|
||||
if (scope_string != NULL)
|
||||
{
|
||||
scope_string = to_upper (scope_string);
|
||||
if (!strcmp (scope_string, "BASE"))
|
||||
scope = LDAP_SCOPE_BASE;
|
||||
else if (!strcmp (scope_string, "SUB"))
|
||||
scope = LDAP_SCOPE_SUBTREE;
|
||||
else if (!strcmp (scope_string, "ONE"))
|
||||
scope = LDAP_SCOPE_ONELEVEL;
|
||||
else
|
||||
err_quit ("Invalid scope \"%s\"", scope_string);
|
||||
}
|
||||
if (port == LDAP_PORT)
|
||||
{
|
||||
return "ldap";
|
||||
}
|
||||
else
|
||||
{
|
||||
port_text = malloc (99);
|
||||
sprintf (port_text, "%d", port);
|
||||
return port_text;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
start ()
|
||||
{
|
||||
int result;
|
||||
LDAPMessage *response;
|
||||
|
||||
session = ldap_init (hostname, port);
|
||||
if (session == NULL)
|
||||
err_sys ("Cannot initialize LDAP");
|
||||
/* TODO: allow non-anonymous connections, with ldap_bind_simple_s */
|
||||
/*
|
||||
* Unfortunately, ldap_init does not connect to the LDAP server. So
|
||||
* connection errors (e.g. firewall), will not be detected here and
|
||||
* loop will go on.
|
||||
*
|
||||
* To quote the man page: ldap_init() acts just like ldap_open(), but
|
||||
* does not open a connection to the LDAP server. The actual
|
||||
* connection open will occur when the first operation is attempted.
|
||||
* At this time, ldap_init() is preferred. ldap_open() will be
|
||||
* depreciated in a later release.
|
||||
*
|
||||
* So, we perform a dummy search immediately.
|
||||
*/
|
||||
result = ldap_search_s (session, base, LDAP_SCOPE_ONELEVEL, "(objectclass=*)", NULL, /* Return all attributes */
|
||||
1, &response);
|
||||
if (result != 0)
|
||||
{
|
||||
err_quit
|
||||
("Cannot connect to %s (no LDAP server or wrong base, probably): %s",
|
||||
hostname, ldap_err2string (result));
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
int result;
|
||||
LDAPMessage *response;
|
||||
result = ldap_search_s (session, base, scope, request, NULL, /* Return all attributes */
|
||||
0, /* Return attribute types *and*
|
||||
* values */
|
||||
&response);
|
||||
if (result != 0)
|
||||
{
|
||||
err_ret ("Cannot search \"%s\": %s", request, ldap_err2string (result));
|
||||
return -1;
|
||||
}
|
||||
if (global_options.verbose)
|
||||
printf ("Retrieved: %d entries\n",
|
||||
ldap_count_entries (session, response));
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
ldap_unbind_s (session);
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
../../echoping -m ldap -v db.debian.org --base=dc=debian,dc=org --scope=sub
|
||||
# TODO: ldapsearch works with the bts2ldap gateway but gq and echoping fail
|
||||
#../../echoping -m ldap -v master.debian.org --port=10101 --scope=sub --base='dc=current,dc=bugs,dc=debian,dc=org' '(debbugsPackage=ldap-utils)'
|
@ -1,16 +0,0 @@
|
||||
dnl Created automatically on Tue Jul 27 14:46:36 CEST 2004
|
||||
if test "$dns_BUILD" = 1; then
|
||||
AC_CONFIG_SUBDIRS(dns)
|
||||
fi
|
||||
if test "$ldap_BUILD" = 1; then
|
||||
AC_CONFIG_SUBDIRS(ldap)
|
||||
fi
|
||||
if test "$postgresql_BUILD" = 1; then
|
||||
AC_CONFIG_SUBDIRS(postgresql)
|
||||
fi
|
||||
if test "$random_BUILD" = 1; then
|
||||
AC_CONFIG_SUBDIRS(random)
|
||||
fi
|
||||
if test "$whois_BUILD" = 1; then
|
||||
AC_CONFIG_SUBDIRS(whois)
|
||||
fi
|
@ -1,10 +0,0 @@
|
||||
if PGSQLBUILD
|
||||
pkglib_LTLIBRARIES = postgresql.la
|
||||
postgresql_la_SOURCES = postgresql.c
|
||||
postgresql_la_LDFLAGS = -module
|
||||
man_MANS = echoping_postgresql.1
|
||||
endif
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
# $Id$
|
@ -1,651 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SOURCES = $(postgresql_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/../../config.guess \
|
||||
$(srcdir)/../../config.sub $(srcdir)/../../depcomp \
|
||||
$(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
|
||||
$(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../configure-common.ac \
|
||||
$(top_srcdir)/../configure-plugins.ac \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||
postgresql_la_LIBADD =
|
||||
am__postgresql_la_SOURCES_DIST = postgresql.c
|
||||
@PGSQLBUILD_TRUE@am_postgresql_la_OBJECTS = postgresql.lo
|
||||
postgresql_la_OBJECTS = $(am_postgresql_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/postgresql.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(postgresql_la_SOURCES)
|
||||
DIST_SOURCES = $(am__postgresql_la_SOURCES_DIST)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PGSQLBUILD_FALSE = @PGSQLBUILD_FALSE@
|
||||
PGSQLBUILD_TRUE = @PGSQLBUILD_TRUE@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
@PGSQLBUILD_TRUE@pkglib_LTLIBRARIES = postgresql.la
|
||||
@PGSQLBUILD_TRUE@postgresql_la_SOURCES = postgresql.c
|
||||
@PGSQLBUILD_TRUE@postgresql_la_LDFLAGS = -module
|
||||
@PGSQLBUILD_TRUE@man_MANS = echoping_postgresql.1
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
postgresql.la: $(postgresql_la_OBJECTS) $(postgresql_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(pkglibdir) $(postgresql_la_LDFLAGS) $(postgresql_la_OBJECTS) $(postgresql_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postgresql.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/.. $(distdir)/../..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(MANS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-man1 install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-man uninstall-man1 \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
|
||||
# $Id$
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,73 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `popt' library (-lpopt). */
|
||||
#undef HAVE_LIBPOPT
|
||||
|
||||
/* Define to 1 if you have the `pq' library (-lpq). */
|
||||
#undef HAVE_LIBPQ
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `poptGetContext' function. */
|
||||
#undef HAVE_POPTGETCONTEXT
|
||||
|
||||
/* Define to 1 if you have the `PQconnectdb' function. */
|
||||
#undef HAVE_PQCONNECTDB
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Internationalized Domain Names support */
|
||||
#undef LIBIDN
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define if you need to include postgresql/libpq-fe.h, not just libpq-fe.h */
|
||||
#undef POSTGRESQL_PREFIX
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
File diff suppressed because it is too large
Load Diff
@ -1,34 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include([../../configure-common.ac])
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
m4_include([../configure-plugins.ac])
|
||||
|
||||
PGSQL_BUILD=1
|
||||
AC_ARG_WITH(pgsql,
|
||||
[ --with-pgsql[=DIR] PostgreSQL development library],dnl
|
||||
[if test "$withval" != "no"; then
|
||||
if test "$withval" != "yes"; then
|
||||
PGSQLROOT=$withval
|
||||
LDFLAGS="${LDFLAGS} -L$PGSQLROOT/lib"
|
||||
CPPFLAGS="${CPPFLAGS} -I$PGSQLROOT/include"
|
||||
fi
|
||||
else
|
||||
PGSQL_BUILD=0
|
||||
fi],
|
||||
)
|
||||
AC_CHECK_FUNCS(poptGetContext,,
|
||||
[AC_CHECK_LIB(popt,poptGetContext,,[AC_MSG_WARN([No popt development environment found, not building this plugin]) && PGSQL_BUILD=0])])
|
||||
if test "$PGSQL_BUILD" != "0"; then
|
||||
AC_CHECK_FUNCS(PQconnectdb, ,
|
||||
[AC_CHECK_LIB(pq,PQconnectdb,,
|
||||
[AC_MSG_WARN([No PostgreSQL development environment found, not building this plugin]) && PGSQL_BUILD=0])])
|
||||
fi
|
||||
AC_CHECK_HEADER([libpq-fe.h],,
|
||||
[AC_CHECK_HEADER([postgresql/libpq-fe.h],AC_DEFINE(POSTGRESQL_PREFIX,1,[Define if you need to include postgresql/libpq-fe.h, not just libpq-fe.h]),
|
||||
[AC_MSG_WARN([No PostgreSQL header found, not building this plugin]) && PGSQL_BUILD=0])])
|
||||
AM_CONDITIONAL(PGSQLBUILD, test "$PGSQL_BUILD" = 1)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -1,53 +0,0 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH ECHOPING_POSTGRESQL 1 "May 26, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
echoping_postgresql \- echoping plugin which connects to a PostgreSQL RDBMS server
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [echoping\ options]
|
||||
.RI -m\ postgresql
|
||||
.B hostname
|
||||
.RI [-c conninfo]
|
||||
.RI [-e]
|
||||
.RI [-r]
|
||||
.RI [SQL-request]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
postgresql is an echoping plugin to connect to PostgreSQL RDBMS servers.
|
||||
.SH ARGUMENTS
|
||||
.B [request]
|
||||
The request to the PostgreSQL server (in SQL). Only SELECT are
|
||||
supported. The default is 'SELECT now()'.
|
||||
.TP
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-c, \-\-conninfo
|
||||
Connection information for the Postgresql server. Something like 'host=foo dbname=bar'
|
||||
.TP
|
||||
.B \-r, \-\-readall
|
||||
Read all the data sent by the Postgresql server
|
||||
.TP
|
||||
.B \-e, \-\-connect-each-time
|
||||
(Re)connect to the Postgresql server at each iteration
|
||||
.SH SEE ALSO
|
||||
.BR echoping (1),
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
@ -1,160 +0,0 @@
|
||||
/*
|
||||
* PostgreSQL plugin.
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#ifdef POSTGRESQL_PREFIX
|
||||
#include <postgresql/libpq-fe.h>
|
||||
#else
|
||||
#include <libpq-fe.h>
|
||||
#endif
|
||||
|
||||
const char *request = NULL;
|
||||
int readall = FALSE;
|
||||
int connect_each_time = FALSE;
|
||||
poptContext postgresql_poptcon;
|
||||
PGconn *conn;
|
||||
PGresult *res;
|
||||
char *conninfo;
|
||||
echoping_options global_options;
|
||||
|
||||
void
|
||||
postgresql_usage (const char *msg)
|
||||
{
|
||||
if (msg)
|
||||
{
|
||||
printf ("PostgreSQL plugin error: %s\n", msg);
|
||||
}
|
||||
poptPrintUsage (postgresql_poptcon, stdout, 0);
|
||||
fprintf (stderr, " [SQL-request]\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
char *
|
||||
init (const int argc, const char **argv,
|
||||
const echoping_options global_external_options)
|
||||
{
|
||||
int value;
|
||||
char *msg = malloc (256);
|
||||
char *rest;
|
||||
/* popt variables */
|
||||
struct poptOption options[] = {
|
||||
{"conninfo", 'c', POPT_ARG_STRING, &conninfo, 0,
|
||||
"Connection information for the Postgresql server. Something like 'host=foo dbname=bar''",
|
||||
""},
|
||||
{"readall", 'a', POPT_ARG_NONE, &readall, 0,
|
||||
"Read all the data sent by the Postgresql server",
|
||||
""},
|
||||
{"connect-each-time", 'e', POPT_ARG_NONE, &connect_each_time, 0,
|
||||
"(Re)Connect to the Postgresql server at each iteration",
|
||||
""},
|
||||
POPT_AUTOHELP POPT_TABLEEND
|
||||
};
|
||||
global_options = global_external_options;
|
||||
if (global_options.udp)
|
||||
err_quit ("UDP makes no sense for a PostgreSQL connection");
|
||||
postgresql_poptcon = poptGetContext (NULL, argc,
|
||||
argv, options,
|
||||
POPT_CONTEXT_POSIXMEHARDER);
|
||||
while ((value = poptGetNextOpt (postgresql_poptcon)) > 0)
|
||||
{
|
||||
}
|
||||
if (value < -1)
|
||||
{
|
||||
sprintf (msg, "%s: %s",
|
||||
poptBadOption (postgresql_poptcon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror (value));
|
||||
postgresql_usage (msg);
|
||||
}
|
||||
request = poptGetArg (postgresql_poptcon);
|
||||
if (request == NULL)
|
||||
request = "SELECT now()";
|
||||
rest = poptGetArg (postgresql_poptcon);
|
||||
if (rest != NULL)
|
||||
postgresql_usage ("Erroneous additional arguments");
|
||||
if (conninfo == NULL)
|
||||
conninfo = "";
|
||||
return NULL; /* We only use the conninfo, echoping does not see our hostname or port */
|
||||
}
|
||||
|
||||
void
|
||||
start_raw ()
|
||||
{
|
||||
if (!connect_each_time)
|
||||
{
|
||||
conn = PQconnectdb (conninfo);
|
||||
if (conn == NULL)
|
||||
{
|
||||
err_quit ("Cannot create connection\n");
|
||||
}
|
||||
if (PQstatus (conn) == CONNECTION_BAD)
|
||||
{
|
||||
err_quit ("Connection failed: %s\n", PQerrorMessage (conn));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
unsigned int row, column;
|
||||
char *result;
|
||||
if (connect_each_time)
|
||||
{
|
||||
conn = PQconnectdb (conninfo);
|
||||
if (conn == NULL)
|
||||
{
|
||||
err_ret ("Cannot create connection\n");
|
||||
return -1;
|
||||
}
|
||||
if (PQstatus (conn) == CONNECTION_BAD)
|
||||
{
|
||||
err_ret ("Connection failed: %s\n", PQerrorMessage (conn));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
res = PQexec (conn, request);
|
||||
if (PQresultStatus (res) != PGRES_TUPLES_OK)
|
||||
{
|
||||
err_ret ("Cannot run \"%s\": %s\n", request,
|
||||
PQresultErrorMessage (res));
|
||||
return -1;
|
||||
}
|
||||
if (global_options.verbose)
|
||||
printf ("%d tuples returned\n", PQntuples (res));
|
||||
if (readall)
|
||||
{
|
||||
for (row = 0; row < PQntuples (res); row++)
|
||||
{
|
||||
for (column = 0; column < PQnfields (res); column++)
|
||||
{
|
||||
result = PQgetvalue (res, row, column);
|
||||
if (result == NULL)
|
||||
{
|
||||
err_ret ("Cannot retrieve value [%d,%d]\n", row, column);
|
||||
return -1;
|
||||
}
|
||||
/* else {
|
||||
printf ("DEBUG: [%d,%d] %s\n", row, column, result);
|
||||
} */
|
||||
}
|
||||
}
|
||||
}
|
||||
if (connect_each_time)
|
||||
PQfinish (conn);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
if (!connect_each_time)
|
||||
PQfinish (conn);
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
pkglib_LTLIBRARIES = random.la
|
||||
random_la_SOURCES = random.c
|
||||
random_la_LDFLAGS = -module
|
||||
man_MANS = echoping_random.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
@ -1,646 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SOURCES = $(random_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/../../config.guess \
|
||||
$(srcdir)/../../config.sub $(srcdir)/../../depcomp \
|
||||
$(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
|
||||
$(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../configure-common.ac \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||
random_la_LIBADD =
|
||||
am_random_la_OBJECTS = random.lo
|
||||
random_la_OBJECTS = $(am_random_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/random.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(random_la_SOURCES)
|
||||
DIST_SOURCES = $(random_la_SOURCES)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANDOM_BUILD = @RANDOM_BUILD@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
pkglib_LTLIBRARIES = random.la
|
||||
random_la_SOURCES = random.c
|
||||
random_la_LDFLAGS = -module
|
||||
man_MANS = echoping_random.1
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
random.la: $(random_la_OBJECTS) $(random_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(pkglibdir) $(random_la_LDFLAGS) $(random_la_OBJECTS) $(random_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/../..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(MANS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-man1 install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-man uninstall-man1 \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,58 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the `usleep' function. */
|
||||
#undef HAVE_USLEEP
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include(../../configure-common.ac)
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
RANDOM_BUILD=1
|
||||
|
||||
AC_CHECK_FUNCS(usleep,, [AC_MSG_WARN([No usleep() found, not building this plugin]) && RANDOM_BUILD=0])
|
||||
AC_SUBST(RANDOM_BUILD,$RANDOM_BUILD)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -1,36 +0,0 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH ECHOPING_RANDOM 1 "May 26, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
echoping_random \- echoping plugin which just sleeps a random time
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [echoping\ options]
|
||||
.RI -m\ random
|
||||
.B hostname
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
random is a dummy echoping plugin, made only for demo purposes.
|
||||
.SH OPTIONS
|
||||
No options
|
||||
.SH SEE ALSO
|
||||
.BR echoping (1),
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* Pseudo-random plugin. Just an example.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
char *
|
||||
init (const int argc, const char *argv[])
|
||||
{
|
||||
struct timeval tv;
|
||||
(void) gettimeofday (&tv, (struct timezone *) NULL);
|
||||
srand (tv.tv_usec);
|
||||
return "7"; /* Not used, just to say we use the cooked interface */
|
||||
}
|
||||
|
||||
void start ()
|
||||
{
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
usleep (rand () % 1000000);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void terminate() {}
|
@ -1,8 +0,0 @@
|
||||
CONFIGURE_DEPENDENCIES=../../configure-common.ac ../configure-plugins.ac
|
||||
|
||||
pkglib_LTLIBRARIES = whois.la
|
||||
whois_la_SOURCES = whois.c
|
||||
whois_la_LDFLAGS = -module
|
||||
man_MANS = echoping_whois.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
@ -1,648 +0,0 @@
|
||||
# Makefile.in generated by automake 1.8.5 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
SOURCES = $(whois_la_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(am__configure_deps) $(srcdir)/../../config.guess \
|
||||
$(srcdir)/../../config.sub $(srcdir)/../../depcomp \
|
||||
$(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
|
||||
$(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../configure-common.ac \
|
||||
$(top_srcdir)/../configure-plugins.ac \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||
whois_la_LIBADD =
|
||||
am_whois_la_OBJECTS = whois.lo
|
||||
whois_la_OBJECTS = $(am_whois_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/whois.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(whois_la_SOURCES)
|
||||
DIST_SOURCES = $(whois_la_SOURCES)
|
||||
man1dir = $(mandir)/man1
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
WHOIS_BUILD = @WHOIS_BUILD@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
CONFIGURE_DEPENDENCIES = ../../configure-common.ac ../configure-plugins.ac
|
||||
pkglib_LTLIBRARIES = whois.la
|
||||
whois_la_SOURCES = whois.c
|
||||
whois_la_LDFLAGS = -module
|
||||
man_MANS = echoping_whois.1
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
whois.la: $(whois_la_OBJECTS) $(whois_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(pkglibdir) $(whois_la_LDFLAGS) $(whois_la_OBJECTS) $(whois_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/whois.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkdir_p) $(distdir)/.. $(distdir)/../..
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
$(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(MANS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man: install-man1
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-man1 install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-man uninstall-man1 \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
@ -1,64 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `popt' library (-lpopt). */
|
||||
#undef HAVE_LIBPOPT
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `poptGetContext' function. */
|
||||
#undef HAVE_POPTGETCONTEXT
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Internationalized Domain Names support */
|
||||
#undef LIBIDN
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
||||
dnl $Id$
|
||||
|
||||
m4_include([../../configure-common.ac])
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
m4_include([../configure-plugins.ac])
|
||||
|
||||
WHOIS_BUILD=1
|
||||
AC_CHECK_FUNCS(poptGetContext,,
|
||||
[AC_CHECK_LIB(popt,poptGetContext,,[AC_MSG_WARN([No popt development environment found, not building this plugin]) && WHOIS_BUILD=0])])
|
||||
AC_SUBST(WHOIS_BUILD,$WHOIS_BUILD)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
@ -1,44 +0,0 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH ECHOPING_WHOIS 1 "May 26, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
.\" .nh disable hyphenation
|
||||
.\" .hy enable hyphenation
|
||||
.\" .ad l left justify
|
||||
.\" .ad b justify to both left and right margins
|
||||
.\" .nf disable filling
|
||||
.\" .fi enable filling
|
||||
.\" .br insert line break
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
echoping_whois \- echoping plugin which connects to a whois server
|
||||
.SH SYNOPSIS
|
||||
.B echoping
|
||||
.RI [echoping\ options]
|
||||
.RI -m\ whois
|
||||
.B hostname
|
||||
.RI -r\ request
|
||||
.RI -d
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
whois is an echoping plugin to connect to whois/nicname servers (see
|
||||
RFC 3912).
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-r, \-\-request
|
||||
The request to the whois server (typically a domain name)
|
||||
.TP
|
||||
.B \-d, \-\-dump
|
||||
Dumps the result of the request
|
||||
.SH SEE ALSO
|
||||
.BR echoping (1),
|
||||
.SH AUTHOR
|
||||
Stephane Bortzmeyer <bortz@users.sourceforge.net>
|
@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
../../echoping -m whois -v whois.nic.fr --dump echoping.fr # Does not exist
|
||||
../../echoping -m whois -v whois.nic.fr --dump nic.fr # Exists
|
@ -1,119 +0,0 @@
|
||||
/*
|
||||
* Whois (RFC 3912) plugin.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define IN_PLUGIN
|
||||
#include "../../echoping.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "../../config.h"
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#define MAX_REQUEST 256
|
||||
|
||||
struct addrinfo whois_server;
|
||||
char *hostname;
|
||||
const char *request = NULL;
|
||||
int dump = FALSE;
|
||||
int n;
|
||||
int sockfd;
|
||||
FILE *files = NULL;
|
||||
poptContext whois_poptcon;
|
||||
|
||||
void
|
||||
whois_usage (const char *msg)
|
||||
{
|
||||
if (msg)
|
||||
{
|
||||
printf ("Error: %s\n", msg);
|
||||
}
|
||||
poptPrintUsage (whois_poptcon, stdout, 0);
|
||||
fprintf (stderr, " request\n");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
char *
|
||||
init (const int argc, const char **argv, echoping_options global_options)
|
||||
{
|
||||
int value;
|
||||
char *msg = malloc (256);
|
||||
char *rest;
|
||||
/* popt variables */
|
||||
struct poptOption options[] = {
|
||||
{"dump", 'd', POPT_ARG_NONE, &dump, 'd',
|
||||
"Dumps the reply from the whois server",
|
||||
""},
|
||||
POPT_AUTOHELP POPT_TABLEEND
|
||||
};
|
||||
if (global_options.udp)
|
||||
err_quit ("UDP is incompatible with this whois plugin");
|
||||
/* Will probably be catched before because /etc/services have no entry for UDP port 43 */
|
||||
whois_poptcon = poptGetContext (NULL, argc,
|
||||
argv, options, POPT_CONTEXT_POSIXMEHARDER);
|
||||
while ((value = poptGetNextOpt (whois_poptcon)) > 0)
|
||||
{
|
||||
switch ((char) value)
|
||||
{
|
||||
case 'd':
|
||||
break;
|
||||
default:
|
||||
sprintf (msg, "Wrong option %d (%c)", value, (char) value);
|
||||
whois_usage (msg);
|
||||
}
|
||||
}
|
||||
if (value < -1)
|
||||
{
|
||||
sprintf (msg, "%s: %s",
|
||||
poptBadOption (whois_poptcon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror (value));
|
||||
whois_usage (msg);
|
||||
}
|
||||
request = (char *) poptGetArg (whois_poptcon);
|
||||
if (request == NULL)
|
||||
whois_usage ("Mandatory request missing");
|
||||
rest = (char *) poptGetArg (whois_poptcon);
|
||||
if (rest != NULL && strcmp (rest, ""))
|
||||
whois_usage ("Extraneous arguments ignored");
|
||||
return "nicname";
|
||||
}
|
||||
|
||||
void
|
||||
start (struct addrinfo *res)
|
||||
{
|
||||
whois_server = *res;
|
||||
}
|
||||
|
||||
int
|
||||
execute ()
|
||||
{
|
||||
int nr = 0;
|
||||
char recvline[MAX_LINE + 1];
|
||||
char complete_request[MAX_REQUEST];
|
||||
if ((sockfd =
|
||||
socket (whois_server.ai_family, whois_server.ai_socktype,
|
||||
whois_server.ai_protocol)) < 0)
|
||||
err_sys ("Can't open socket");
|
||||
if (connect (sockfd, whois_server.ai_addr, whois_server.ai_addrlen) < 0)
|
||||
err_sys ("Can't connect to server");
|
||||
if ((files = fdopen (sockfd, "r")) == NULL)
|
||||
err_sys ("Cannot fdopen");
|
||||
sprintf (complete_request, "%s\r\n", request);
|
||||
n = strlen (complete_request);
|
||||
if (writen (sockfd, complete_request, n) != n)
|
||||
err_sys ("writen error on socket");
|
||||
/* Read from the server */
|
||||
while ((nr = readline (files, recvline, MAX_LINE, 0)) > 0)
|
||||
if (dump)
|
||||
printf ("%s", recvline);
|
||||
if (dump)
|
||||
printf ("\n");
|
||||
close (sockfd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
terminate ()
|
||||
{
|
||||
}
|
@ -1,226 +0,0 @@
|
||||
/*
|
||||
* Read a line from a descriptor with fgets
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
int
|
||||
readline (fs, ptr, maxlen, ln)
|
||||
FILE *fs;
|
||||
char *ptr;
|
||||
int maxlen;
|
||||
unsigned short ln;
|
||||
{
|
||||
int n = 1;
|
||||
char *rc;
|
||||
int r;
|
||||
|
||||
/* Reading with fgets or fread instead of read
|
||||
one-character-at-a-time is more than ten times faster, on a local
|
||||
server. */
|
||||
if (ln)
|
||||
{
|
||||
rc = fgets (ptr, maxlen + 1, fs);
|
||||
if (rc == NULL)
|
||||
{
|
||||
if (timeout_flag)
|
||||
return n;
|
||||
return (-1);
|
||||
}
|
||||
n = strlen (rc);
|
||||
return n;
|
||||
}
|
||||
else
|
||||
{
|
||||
while (n < maxlen)
|
||||
{
|
||||
r = fread (ptr, 1, maxlen, fs);
|
||||
if (timeout_flag)
|
||||
return r;
|
||||
if (r == 0)
|
||||
{
|
||||
if (n == 1)
|
||||
return (0); /* EOF, no data read */
|
||||
else
|
||||
break; /* EOF, some data was read */
|
||||
}
|
||||
n = n + r;
|
||||
}
|
||||
}
|
||||
return (n);
|
||||
}
|
||||
|
||||
#ifdef OPENSSL
|
||||
|
||||
char SSL_buffer[MAXTOREAD];
|
||||
int buf_ptr;
|
||||
int buf_end;
|
||||
|
||||
int
|
||||
SSL_readline (sslh, ptr, maxlen, ln)
|
||||
SSL *sslh;
|
||||
char *ptr;
|
||||
int maxlen;
|
||||
unsigned short ln;
|
||||
{
|
||||
int rc = 0;
|
||||
int n = 0;
|
||||
int i, oi;
|
||||
if (ln)
|
||||
{
|
||||
/* Empty buffer */
|
||||
if (buf_end == 0)
|
||||
{
|
||||
rc = SSL_read (sslh, SSL_buffer, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = rc;
|
||||
buf_ptr = 0;
|
||||
}
|
||||
/* No more data in the buffer */
|
||||
else if (buf_ptr == buf_end)
|
||||
{
|
||||
buf_ptr = 0;
|
||||
rc = SSL_read (sslh, SSL_buffer, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = rc;
|
||||
}
|
||||
else if (SSL_buffer[buf_end] != '\n')
|
||||
{
|
||||
/* We have a probleme here is the first SSL_read sent back
|
||||
a text not finished by a \n. See www.SSL.de for an
|
||||
example. We get more data. See bug #230384 */
|
||||
rc = SSL_read (sslh, SSL_buffer + buf_end, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = buf_end + rc;
|
||||
}
|
||||
for (oi = buf_ptr, i = buf_ptr;
|
||||
i <= buf_end && SSL_buffer[i] != '\n'; i++)
|
||||
{
|
||||
*ptr++ = SSL_buffer[i];
|
||||
buf_ptr++;
|
||||
}
|
||||
if (SSL_buffer[i] == '\n')
|
||||
buf_ptr++;
|
||||
*ptr = '\0';
|
||||
/* if (ln)
|
||||
printf ("SSL_readline returns %d (%s)\n", i - oi, SSL_buffer); */
|
||||
return (i - oi);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* OpenSSL reads at most 4096 characters */
|
||||
rc = 1; /* Just to avoid exiting too soon */
|
||||
while (n < maxlen && rc != 0)
|
||||
{
|
||||
if ((buf_end == 0) || (buf_ptr > buf_end))
|
||||
{
|
||||
rc = SSL_read (sslh, ptr, maxlen);
|
||||
buf_end = 0;
|
||||
buf_ptr = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = buf_ptr; i < maxlen && i <= buf_end; i++)
|
||||
{
|
||||
*ptr++ = SSL_buffer[i];
|
||||
rc++;
|
||||
}
|
||||
buf_ptr = i;
|
||||
}
|
||||
n = n + rc;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GNUTLS
|
||||
|
||||
char TLS_buffer[MAXTOREAD];
|
||||
int buf_ptr;
|
||||
int buf_end;
|
||||
|
||||
int
|
||||
TLS_readline (session, ptr, maxlen, ln)
|
||||
gnutls_session session;
|
||||
char *ptr;
|
||||
int maxlen;
|
||||
unsigned short ln;
|
||||
{
|
||||
int rc = 0;
|
||||
int n = 0;
|
||||
int i, oi;
|
||||
if (ln)
|
||||
{
|
||||
/* Empty buffer */
|
||||
if (buf_end == 0)
|
||||
{
|
||||
rc = gnutls_record_recv (session, TLS_buffer, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = rc;
|
||||
buf_ptr = 0;
|
||||
}
|
||||
/* No more data in the buffer */
|
||||
else if (buf_ptr == buf_end)
|
||||
{
|
||||
buf_ptr = 0;
|
||||
rc = gnutls_record_recv (session, TLS_buffer, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = rc;
|
||||
}
|
||||
else if (TLS_buffer[buf_end] != '\n')
|
||||
{
|
||||
rc = gnutls_record_recv (session, TLS_buffer + buf_end, maxlen);
|
||||
if (rc == -1)
|
||||
return rc;
|
||||
buf_end = buf_end + rc;
|
||||
}
|
||||
for (oi = buf_ptr, i = buf_ptr;
|
||||
i <= buf_end && TLS_buffer[i] != '\n'; i++)
|
||||
{
|
||||
*ptr++ = TLS_buffer[i];
|
||||
buf_ptr++;
|
||||
}
|
||||
if (TLS_buffer[i] == '\n')
|
||||
buf_ptr++;
|
||||
*ptr = '\0';
|
||||
/* printf ("DEBUG: TLS_readline returns %d (%s)\n", i - oi, TLS_buffer); */
|
||||
return (i - oi);
|
||||
}
|
||||
else
|
||||
{
|
||||
rc = 1; /* Just to avoid exiting too soon */
|
||||
while (n < maxlen && rc > 0)
|
||||
{
|
||||
if ((buf_end == 0) || (buf_ptr > buf_end))
|
||||
{
|
||||
rc = gnutls_record_recv (session, ptr, maxlen);
|
||||
buf_end = 0;
|
||||
buf_ptr = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = buf_ptr; i < maxlen && i <= buf_end; i++)
|
||||
{
|
||||
*ptr++ = TLS_buffer[i];
|
||||
rc++;
|
||||
/* printf ("DEBUG: Now %d chars read\n", rc); */
|
||||
}
|
||||
buf_ptr = i;
|
||||
}
|
||||
if (rc > 0)
|
||||
n = n + rc;
|
||||
/* printf ("DEBUG: Now %d chars to send\n", n); */
|
||||
}
|
||||
return n;
|
||||
}
|
||||
}
|
||||
#endif
|
@ -1,38 +0,0 @@
|
||||
/* Code contributed by Samuel Tardieu <sam@inf.enst.fr>
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
#ifdef SMTP
|
||||
|
||||
char big_recvline[MAXTOREAD];
|
||||
|
||||
int
|
||||
smtp_read_response_from_server (FILE *fs)
|
||||
{
|
||||
int nr;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < MAXSMTPLINES; i++)
|
||||
{
|
||||
nr = readline (fs, big_recvline, MAXTOREAD, TRUE);
|
||||
if (nr <= 4)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (big_recvline[3] == ' ')
|
||||
{
|
||||
return nr;
|
||||
}
|
||||
if (big_recvline[3] != '-')
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* SMTP */
|
@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
|
||||
./echoping -C -h / www.gandi.net
|
||||
|
||||
echo ""
|
||||
|
||||
# We need to iterate to catch some SSL programming errors. See bug #130151
|
||||
./echoping -C -h / -n 2 www.modssl.org
|
||||
|
||||
echo ""
|
||||
|
||||
./echoping -C -h / -n 2 www.creditmutuel.fr
|
||||
|
||||
echo ""
|
||||
|
||||
# bug #230384
|
||||
./echoping -C -h / -n 2 www.ssl.de
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem. Also, it depends on"
|
||||
echo " a local ICP cache named 'cache'."
|
||||
|
||||
./echoping -i http://www.pasteur.fr/ cache
|
||||
|
||||
./echoping -i http://www.freenix.org/ cache
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
echo ""
|
||||
echo "For this specific test, you *must* set the locale to UTF-8. It is system-"
|
||||
echo "dependent but you typically 'export LC_CTYPE=xx_XX.utf8' or "
|
||||
echo "'export CHARSET=utf8', depending on your system. 'locale -a' to get"
|
||||
echo "possible values."
|
||||
|
||||
./echoping -h / -v café.gennic.net
|
||||
./echoping -h / -v www.trườngđạihọcbáchkhoahànội.edu.vn
|
||||
./echoping -h / -v www.müller.ch
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
|
||||
./echoping -6 -h / -v www.6bone.net
|
||||
|
||||
./echoping -6 -h / -v ns3.nic.fr
|
||||
|
||||
./echoping -6 -v -h / "[3ffe:b00:c18:1::10]:80" # RFC 2732
|
||||
|
||||
# We force the use of IPv6 with -6 because some libc (Solaris) are
|
||||
# smart enough to send only the IPv4 adresses to the application if
|
||||
# the machine has no IPv6 connectivity.
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "A message such as 'connection refused' is not always an error"
|
||||
echo " you may not have an appropriate server."
|
||||
echo " UDP tests can also fail with a timeout if you do not have the server."
|
||||
|
||||
# Some operating systems, like Solaris or Tru64, uses a file "ipnodes",
|
||||
# somewhere under /etc, in which "localhost" resolves to an IPv6
|
||||
# address (::1), even if the machine has no IPv6 at all. Hence the -4.
|
||||
./echoping -4 localhost
|
||||
./echoping -4 -u localhost
|
||||
./echoping -4 -d localhost
|
||||
./echoping -4 -d -u localhost
|
||||
#./echoping -4 -c localhost # chargen is too often unavailable
|
||||
./echoping -4 -h / localhost
|
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
echo ""
|
||||
|
||||
for plugin in `ls plugins`; do
|
||||
if [ -d plugins/$plugin ]; then
|
||||
cd plugins/$plugin
|
||||
if [ -x ./test.sh ]; then
|
||||
echo "Testing $plugin..."
|
||||
sh ./test.sh
|
||||
echo ""
|
||||
fi
|
||||
cd ../..
|
||||
fi
|
||||
done
|
@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem. Also, it depends on"
|
||||
echo " a local proxy cache named 'cache'."
|
||||
|
||||
if [ "x$PROXY_PORT" = "x" ]; then
|
||||
PROXY_PORT=3128
|
||||
fi
|
||||
|
||||
./echoping -h http://www.netaktiv.com/ cache:$PROXY_PORT
|
||||
|
||||
./echoping -h http://www.freenix.org/ cache:$PROXY_PORT
|
||||
|
||||
./echoping -a -h http://www.freenix.org/ cache:$PROXY_PORT
|
||||
|
||||
./echoping -A -h http://www.freenix.org/ cache:$PROXY_PORT
|
||||
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
|
||||
./echoping central.internatif.org
|
||||
|
||||
./echoping -h / www.debian.org
|
||||
|
||||
./echoping -h / www.freenix.org
|
||||
|
||||
./echoping -S mx3.hotmail.com
|
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id$
|
||||
|
||||
echo ""
|
||||
echo "Since this tests tries remote servers, a failure is not always "
|
||||
echo " echoping's fault: it may be a network problem."
|
||||
echo "On some systems, you may NEED to be root."
|
||||
|
||||
./echoping -P 0xa0 central.internatif.org
|
||||
|
||||
# IPTOS_THROUGHPUT
|
||||
./echoping -P 0x08 central.internatif.org
|
||||
|
||||
|
||||
|
@ -1,208 +0,0 @@
|
||||
/* Most of it stolen from Pierre Beyssac's bing */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
#define STATES 32
|
||||
|
||||
#include <time.h>
|
||||
#include <ctype.h>
|
||||
|
||||
char *
|
||||
random_string (unsigned length)
|
||||
{
|
||||
|
||||
char *state = (char *) malloc (sizeof (char) * STATES);
|
||||
char *result = (char *) malloc (length + 1);
|
||||
int i, number;
|
||||
unsigned seed = (unsigned) time ((time_t *) NULL);
|
||||
|
||||
/* printf ("Seed is %u\n", seed); */
|
||||
|
||||
/* Initialize random generator */
|
||||
(void) initstate (seed, state, STATES);
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
number = (random () % 94) + 33;
|
||||
/* printf ("Number for %d is %d\n", i, number); */
|
||||
result[i] = (char) number;
|
||||
}
|
||||
result[length] = '\0';
|
||||
|
||||
/* printf ("Result is %s\n", result); */
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
char *
|
||||
to_upper (char *input)
|
||||
{
|
||||
int c;
|
||||
char *result;
|
||||
result = (char *) malloc (strlen (input));
|
||||
for (c = 0; c < strlen (input); c++)
|
||||
result[c] = toupper (input[c]);
|
||||
result[strlen (input)] = '\0';
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* tvsub -- Subtract 2 timeval structs: out = out - in. Out is assumed to be
|
||||
* >= in. Comes from the bing program.
|
||||
*/
|
||||
void
|
||||
tvsub (out, in)
|
||||
struct timeval *out, *in;
|
||||
{
|
||||
if ((out->tv_usec -= in->tv_usec) < 0)
|
||||
{
|
||||
--out->tv_sec;
|
||||
out->tv_usec += 1000000;
|
||||
}
|
||||
out->tv_sec -= in->tv_sec;
|
||||
}
|
||||
|
||||
/* tvadd -- Adds 2 timeval structs: out = out + in. */
|
||||
void
|
||||
tvadd (out, in)
|
||||
struct timeval *out, *in;
|
||||
{
|
||||
if ((out->tv_usec += in->tv_usec) >= 1000000)
|
||||
{
|
||||
++out->tv_sec;
|
||||
out->tv_usec -= 1000000;
|
||||
}
|
||||
out->tv_sec += in->tv_sec;
|
||||
}
|
||||
|
||||
/* tvavg -- Averages a timeval struct */
|
||||
void
|
||||
tvavg (out, number)
|
||||
struct timeval *out;
|
||||
int number;
|
||||
{
|
||||
double result;
|
||||
/*
|
||||
* out->tv_sec = out->tv_sec/number; out->tv_usec =
|
||||
* out->tv_usec/number;
|
||||
*/
|
||||
result = (1000000 * out->tv_sec + out->tv_usec) / number;
|
||||
/* printf ("Result of average is %f\n", result) */ ;
|
||||
out->tv_sec = (long) (result / 1000000);
|
||||
out->tv_usec = (long) (result - (out->tv_sec * 1000000));
|
||||
}
|
||||
|
||||
/* tvstddev -- Computes the standard deviation of a set of results */
|
||||
void
|
||||
tvstddev (out, number, average, results)
|
||||
struct timeval *out;
|
||||
int number;
|
||||
struct timeval average;
|
||||
struct result *results;
|
||||
{
|
||||
int i;
|
||||
struct timeval result, avg, var = null_timeval;
|
||||
struct timeval square, large, small;
|
||||
*out = null_timeval;
|
||||
for (i = 0; i < number; i++)
|
||||
{
|
||||
if (results[i].valid == 1)
|
||||
{
|
||||
result = results[i].timevalue;
|
||||
/* printf ("value is %f (average is %f)\n",
|
||||
tv2double (result), tv2double (average)); */
|
||||
avg = average;
|
||||
if (tvcmp (&result, &avg) == -1)
|
||||
{
|
||||
small = result;
|
||||
large = avg;
|
||||
}
|
||||
else
|
||||
{
|
||||
large = result;
|
||||
small = avg;
|
||||
}
|
||||
tvsub (&large, &small);
|
||||
/* printf ("abs offset is %f\n", tv2double (large)); */
|
||||
square = double2tv (pow (tv2double (large), 2));
|
||||
tvadd (&var, &square);
|
||||
/* printf ("variance is now %f\n", tv2double (var)); */
|
||||
}
|
||||
}
|
||||
result = double2tv (sqrt (tv2double (var) / number));
|
||||
out->tv_sec = result.tv_sec;
|
||||
out->tv_usec = result.tv_usec;
|
||||
}
|
||||
|
||||
/* tvcmp -- Compares two timeval structs */
|
||||
int
|
||||
tvcmp (left, right)
|
||||
struct timeval *left, *right;
|
||||
{
|
||||
if (left->tv_sec < right->tv_sec)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (left->tv_sec > right->tv_sec)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if (left->tv_usec < right->tv_usec)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (left->tv_usec > right->tv_usec)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/* tvmin */
|
||||
void
|
||||
tvmin (champion, challenger)
|
||||
struct timeval *champion, *challenger;
|
||||
{
|
||||
if (tvcmp (champion, challenger) == 1)
|
||||
{
|
||||
champion->tv_sec = challenger->tv_sec;
|
||||
champion->tv_usec = challenger->tv_usec;
|
||||
}
|
||||
}
|
||||
|
||||
/* tvmax */
|
||||
void
|
||||
tvmax (champion, challenger)
|
||||
struct timeval *champion, *challenger;
|
||||
{
|
||||
if (tvcmp (champion, challenger) == -1)
|
||||
{
|
||||
champion->tv_sec = challenger->tv_sec;
|
||||
champion->tv_usec = challenger->tv_usec;
|
||||
}
|
||||
}
|
||||
|
||||
double
|
||||
tv2double (tv)
|
||||
struct timeval tv;
|
||||
{
|
||||
double result;
|
||||
result =
|
||||
(((((double) tv.tv_sec) * 1000000.0) + (double) tv.tv_usec) / 1000000.0);
|
||||
/* printf ("Double is %9.3f\n", result); */
|
||||
return result;
|
||||
}
|
||||
|
||||
struct timeval
|
||||
double2tv (x)
|
||||
double x;
|
||||
{
|
||||
struct timeval result;
|
||||
result.tv_sec = (int) (x);
|
||||
result.tv_usec = (int) ((x - result.tv_sec) * 1000000);
|
||||
return result;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
/*
|
||||
* Write "n" bytes to a descriptor. Use in place of write() when fd is a
|
||||
* stream socket.
|
||||
*/
|
||||
|
||||
/* Stolen from Stevens' book */
|
||||
|
||||
#include "echoping.h"
|
||||
|
||||
int
|
||||
writen (fd, ptr, nbytes)
|
||||
register int fd;
|
||||
register char *ptr;
|
||||
register int nbytes;
|
||||
{
|
||||
int nleft, nwritten;
|
||||
|
||||
nleft = nbytes;
|
||||
while (nleft > 0)
|
||||
{
|
||||
nwritten = write (fd, ptr, nleft);
|
||||
if (nwritten <= 0)
|
||||
return (nwritten); /* error */
|
||||
/* Some systems, such as Digital's OSF1 (Digital Unix) doesn't set the returned
|
||||
value to -1, even when interrupted by an alarm, whatever says the documentation.
|
||||
errno is not set. */
|
||||
if ((nwritten < nleft) && timeout_flag)
|
||||
return nwritten;
|
||||
nleft -= nwritten;
|
||||
ptr += nwritten;
|
||||
}
|
||||
return (nbytes - nleft);
|
||||
}
|
@ -1 +0,0 @@
|
||||
-I .
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue