summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: dbe8fb5)
raw | patch | inline | side by side (parent: dbe8fb5)
author | Ton Voon <tonvoon@users.sourceforge.net> | |
Fri, 12 Nov 2004 00:49:51 +0000 (00:49 +0000) | ||
committer | Ton Voon <tonvoon@users.sourceforge.net> | |
Fri, 12 Nov 2004 00:49:51 +0000 (00:49 +0000) |
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@895 f882894a-f735-0410-b71e-b25c423dba1c
33 files changed:
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 7b07f555dba4e2c269c826129b84fff875cb5338..2e9aeee9627a426c84004531c385ddfb267a8299 100644 (file)
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
noinst_LIBRARIES = libnagiosplug.a
-libnagiosplug_a_SOURCES = getopt.c getopt1.c snprintf.c fsusage.c mountlist.c xmalloc.c
+libnagiosplug_a_SOURCES = getopt.c getopt1.c fsusage.c snprintf.c mountlist.c \
+ xmalloc.c xstrdup.c exitfail.c
libnagiosplug_a_LIBADD = @LIBOBJS@
libnagiosplug_a_DEPENDENCIES = $(libnagiosplug_a_LIBADD)
inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 \
lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 afs.m4 \
fstypename.m4 fsusage.m4 ls-mntd-fs.m4 getopt.h gettext.h fsusage.h mountlist.h\
- error.m4 error.h error.c getloadavg.c xalloc.h unlocked-io.h malloc.c realloc.c strtod.c
+ error.m4 error.h error.c getloadavg.c xalloc.h unlocked-io.h unlocked-io.m4 malloc.c \
+ onceonly.m4 realloc.c strtod.c exitfail.h full-read.h xstrdup.c xalloc.m4 exit.h
INCLUDES = -I$(srcdir) -I$(top_srcdir)/intl
diff --git a/lib/error.c b/lib/error.c
index 2296124a4f87b37d87f788b630a31cef1fb87a47..1149235a101ed20bb37781cc27a78d39875c990d 100644 (file)
--- a/lib/error.c
+++ b/lib/error.c
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2002, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
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)
# include <config.h>
#endif
+#include "error.h"
+
+#include <stdarg.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#ifdef _LIBC
# include <libintl.h>
# define mbsrtowcs __mbsrtowcs
#endif
-#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
-# if __STDC__
-# include <stdarg.h>
-# define VA_START(args, lastarg) va_start(args, lastarg)
-# else
-# include <varargs.h>
-# define VA_START(args, lastarg) va_start(args)
-# endif
-#else
-# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
-# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
-#endif
-
-#if STDC_HEADERS || _LIBC
-# include <stdlib.h>
-# include <string.h>
-#else
-void exit ();
-#endif
-
-#include "error.h"
-
#if !_LIBC
# include "unlocked-io.h"
#endif
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
function without parameters instead. */
-void (*error_print_progname) (
-#if __STDC__ - 0
- void
-#endif
- );
+void (*error_print_progname) (void);
/* This variable is incremented each time `error' is called. */
unsigned int error_message_count;
# undef putc
# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# include <bits/libc-lock.h>
+
#else /* not _LIBC */
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
char *strerror_r ();
# endif
+# ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
+# endif
+
/* The calling program should define program_name and set it to the
name of the executing program. */
-extern char *progname;
+extern char *program_name;
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
-# else
-# if HAVE_STRERROR
-# ifndef HAVE_DECL_STRERROR
-"this configure-time declaration test was not run"
-# endif
-# if !HAVE_DECL_STRERROR
-char *strerror ();
-# endif
-# else
-static char *
-private_strerror (int errnum)
-{
- extern char *sys_errlist[];
- extern int sys_nerr;
-
- if (errnum > 0 && errnum <= sys_nerr)
- return _(sys_errlist[errnum]);
- return _("Unknown system error");
-}
-# define strerror private_strerror
-# endif /* HAVE_STRERROR */
-# endif /* HAVE_STRERROR_R || defined strerror_r */
+# endif
#endif /* not _LIBC */
static void
fprintf (stderr, ": %s", s);
}
-#ifdef VA_START
static void
error_tail (int status, int errnum, const char *message, va_list args)
{
-# if HAVE_VPRINTF || _LIBC
-# if _LIBC
+#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
{
-# define ALLOCA_LIMIT 2000
+# define ALLOCA_LIMIT 2000
size_t len = strlen (message) + 1;
- wchar_t *wmessage = NULL;
- mbstate_t st;
- size_t res;
- const char *tmp;
-
- do
+ const wchar_t *wmessage = L"out of memory";
+ wchar_t *wbuf = (len < ALLOCA_LIMIT
+ ? alloca (len * sizeof *wbuf)
+ : len <= SIZE_MAX / sizeof *wbuf
+ ? malloc (len * sizeof *wbuf)
+ : NULL);
+
+ if (wbuf)
{
- if (len < ALLOCA_LIMIT)
- wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
- wmessage = NULL;
-
- wmessage = (wchar_t *) realloc (wmessage,
- len * sizeof (wchar_t));
-
- if (wmessage == NULL)
- {
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- }
-
+ size_t res;
+ mbstate_t st;
+ const char *tmp = message;
memset (&st, '\0', sizeof (st));
- tmp =message;
+ res = mbsrtowcs (wbuf, &tmp, len, &st);
+ wmessage = res == (size_t) -1 ? L"???" : wbuf;
}
- while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
-
- if (res == (size_t) -1)
- /* The string cannot be converted. */
- wmessage = (wchar_t *) L"???";
__vfwprintf (stderr, wmessage, args);
+ if (! (len < ALLOCA_LIMIT))
+ free (wbuf);
}
else
-# endif
+#endif
vfprintf (stderr, message, args);
-# else
- _doprnt (message, args, stderr);
-# endif
va_end (args);
++error_message_count;
if (errnum)
print_errno_message (errnum);
-# if _LIBC
+#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
putwc (L'\n', stderr);
else
-# endif
+#endif
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}
-#endif
/* Print the program name and error message MESSAGE, which is a printf-style
format string with optional args.
If ERRNUM is nonzero, print its corresponding system error message.
Exit with status STATUS if it is nonzero. */
-/* VARARGS */
void
-#if defined VA_START && __STDC__
error (int status, int errnum, const char *message, ...)
-#else
-error (status, errnum, message, va_alist)
- int status;
- int errnum;
- char *message;
- va_dcl
-#endif
{
-#ifdef VA_START
va_list args;
+
+#if defined _LIBC && defined __libc_ptf_call
+ /* We do not want this call to be cut short by a thread
+ cancellation. Therefore disable cancellation for now. */
+ int state = PTHREAD_CANCEL_ENABLE;
+ __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
+ 0);
#endif
fflush (stdout);
{
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s: ", progname);
+ __fwprintf (stderr, L"%s: ", program_name);
else
#endif
- fprintf (stderr, "%s: ", progname);
+ fprintf (stderr, "%s: ", program_name);
}
-#ifdef VA_START
- VA_START (args, message);
+ va_start (args, message);
error_tail (status, errnum, message, args);
-#else
- fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
-#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
+# ifdef __libc_ptf_call
+ __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
+# endif
#endif
}
\f
int error_one_per_line;
void
-#if defined VA_START && __STDC__
error_at_line (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message, ...)
-#else
-error_at_line (status, errnum, file_name, line_number, message, va_alist)
- int status;
- int errnum;
- const char *file_name;
- unsigned int line_number;
- char *message;
- va_dcl
-#endif
{
-#ifdef VA_START
va_list args;
-#endif
if (error_one_per_line)
{
old_line_number = line_number;
}
+#if defined _LIBC && defined __libc_ptf_call
+ /* We do not want this call to be cut short by a thread
+ cancellation. Therefore disable cancellation for now. */
+ int state = PTHREAD_CANCEL_ENABLE;
+ __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
+ 0);
+#endif
+
fflush (stdout);
#ifdef _LIBC
_IO_flockfile (stderr);
{
#if _LIBC
if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s: ", progname);
+ __fwprintf (stderr, L"%s: ", program_name);
else
#endif
- fprintf (stderr, "%s:", progname);
+ fprintf (stderr, "%s:", program_name);
}
if (file_name != NULL)
fprintf (stderr, "%s:%d: ", file_name, line_number);
}
-#ifdef VA_START
- VA_START (args, message);
+ va_start (args, message);
error_tail (status, errnum, message, args);
-#else
- fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
-#endif
#ifdef _LIBC
_IO_funlockfile (stderr);
+# ifdef __libc_ptf_call
+ __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
+# endif
#endif
}
diff --git a/lib/error.h b/lib/error.h
index 177b2dcbe870c33e3e3cc2ae4df43536afb14395..8ed63595f24f680240fd5d781c6b28a8d60bc652 100644 (file)
--- a/lib/error.h
+++ b/lib/error.h
/* Declaration for error-reporting function
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
-
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- 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 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. */
+ 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. */
#ifndef _ERROR_H
#define _ERROR_H 1
extern "C" {
#endif
-#if defined (__STDC__) && __STDC__
-
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
-extern void error (int status, int errnum, const char *format, ...)
+extern void error (int __status, int __errnum, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
-extern void error_at_line (int status, int errnum, const char *fname,
- unsigned int lineno, const char *format, ...)
+extern void error_at_line (int __status, int __errnum, const char *__fname,
+ unsigned int __lineno, const char *__format, ...)
__attribute__ ((__format__ (__printf__, 5, 6)));
/* If NULL, error will flush stdout, then print on stderr the program
function without parameters instead. */
extern void (*error_print_progname) (void);
-#else
-void error ();
-void error_at_line ();
-extern void (*error_print_progname) ();
-#endif
-
/* This variable is incremented each time `error' is called. */
extern unsigned int error_message_count;
diff --git a/lib/error.m4 b/lib/error.m4
index 717725d619d2c83e93bc161d55b63138160dee5b..0bc2e6899de0b4b81d97fed779e8a1c10f57bdd4 100644 (file)
--- a/lib/error.m4
+++ b/lib/error.m4
-#serial 5
+#serial 9
-dnl FIXME: put these prerequisite-only *.m4 files in a separate
-dnl directory -- otherwise, they'll conflict with existing files.
+AC_DEFUN([gl_ERROR],
+[
+ AC_FUNC_ERROR_AT_LINE
+ dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
+ jm_PREREQ_ERROR
+])
-dnl These are the prerequisite macros for GNU's error.c file.
+# Prerequisites of lib/error.c.
AC_DEFUN([jm_PREREQ_ERROR],
[
- AC_CHECK_FUNCS(strerror vprintf doprnt)
- AC_CHECK_DECLS([strerror])
- AC_CHECK_HEADERS([libintl.h])
- AC_FUNC_STRERROR_R
- AC_HEADER_STDC
+ AC_REQUIRE([AC_FUNC_STRERROR_R])
+ :
])
diff --git a/lib/exit.h b/lib/exit.h
--- /dev/null
+++ b/lib/exit.h
@@ -0,0 +1,32 @@
+/* exit() function.
+ Copyright (C) 1995, 2001 Free Software Foundation, Inc.
+
+ 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. */
+
+#ifndef _EXIT_H
+#define _EXIT_H
+
+/* Get exit() declaration. */
+#include <stdlib.h>
+
+/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+#endif /* _EXIT_H */
diff --git a/lib/exitfail.c b/lib/exitfail.c
--- /dev/null
+++ b/lib/exitfail.c
@@ -0,0 +1,27 @@
+/* Failure exit status
+
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+
+ 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; see the file COPYING.
+ If not, write to the Free Software Foundation,
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "exitfail.h"
+#include "exit.h"
+
+int volatile exit_failure = EXIT_FAILURE;
diff --git a/lib/exitfail.h b/lib/exitfail.h
--- /dev/null
+++ b/lib/exitfail.h
@@ -0,0 +1,20 @@
+/* Failure exit status
+
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+ 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; see the file COPYING.
+ If not, write to the Free Software Foundation,
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+extern int volatile exit_failure;
diff --git a/lib/fsusage.c b/lib/fsusage.c
index 7339c8051466ecad850fb942c4780f488e7d4da0..d92602936c2c262ce0396a40e1dfd3c2caddfbc4 100644 (file)
--- a/lib/fsusage.c
+++ b/lib/fsusage.c
/* fsusage.c -- return space usage of mounted filesystems
- Copyright (C) 1991, 1992, 1996, 1998, 1999 Free Software Foundation, Inc.
+
+ Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 2003 Free
+ Software Foundation, Inc.
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
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#include "config.h"
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+# include <stdint.h>
+# endif
#endif
+#ifndef UINTMAX_MAX
+# define UINTMAX_MAX ((uintmax_t) -1)
+#endif
+
#include <sys/types.h>
#include <sys/stat.h>
#include "fsusage.h"
-#if HAVE_LIMITS_H
-# include <limits.h>
-#endif
-#ifndef CHAR_BIT
-# define CHAR_BIT 8
-#endif
-
-int statfs ();
+#include <limits.h>
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
# include <sys/fs/s5param.h>
#endif
-#if defined (HAVE_SYS_FILSYS_H) && !defined (_CRAY)
+#if defined HAVE_SYS_FILSYS_H && !defined _CRAY
# include <sys/filsys.h> /* SVR2 */
#endif
int statvfs ();
#endif
+#include "full-read.h"
+
/* Many space usage primitives use all 1 bits to denote a value that is
not applicable or unknown. Propagate this information by returning
- a uintmax_t value that is all 1 bits if the argument is all 1 bits,
- even if the argument is unsigned and smaller than uintmax_t. */
-#define PROPAGATE_ALL_ONES(x) ((x) == -1 ? (uintmax_t) -1 : (uintmax_t) (x))
+ a uintmax_t value that is all 1 bits if X is all 1 bits, even if X
+ is unsigned and narrower than uintmax_t. */
+#define PROPAGATE_ALL_ONES(x) \
+ ((sizeof (x) < sizeof (uintmax_t) \
+ && (~ (x) == (sizeof (x) < sizeof (int) \
+ ? - (1 << (sizeof (x) * CHAR_BIT)) \
+ : 0))) \
+ ? UINTMAX_MAX : (x))
/* Extract the top bit of X as an uintmax_t value. */
#define EXTRACT_TOP_BIT(x) ((x) \
otherwise, use PROPAGATE_ALL_ONES. */
#define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1))
-int safe_read ();
-
/* Fill in the fields of FSP with information about space usage for
the filesystem on which PATH resides.
DISK is the device on which PATH is mounted, for space-getting
if (fd < 0)
return -1;
lseek (fd, (off_t) SUPERBOFF, 0);
- if (safe_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
+ if (full_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
{
close (fd);
return -1;
fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.s_tfree);
fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.s_tfree) != 0;
fsp->fsu_files = (fsd.s_isize == -1
- ? (uintmax_t) -1
+ ? UINTMAX_MAX
: (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1));
fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode);
/* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
-# if _AIX || defined(_CRAY)
+# if _AIX || defined _CRAY
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
# else
fsp->fsu_blocksize = 512;
return -1;
/* f_frsize isn't guaranteed to be supported. */
- fsp->fsu_blocksize =
- PROPAGATE_ALL_ONES (fsd.f_frsize ? fsd.f_frsize : fsd.f_bsize);
+ fsp->fsu_blocksize = (fsd.f_frsize
+ ? PROPAGATE_ALL_ONES (fsd.f_frsize)
+ : PROPAGATE_ALL_ONES (fsd.f_bsize));
#endif /* STAT_STATVFS */
-#if !defined(STAT_STATFS2_FS_DATA) && !defined(STAT_READ_FILSYS)
+#if !defined STAT_STATFS2_FS_DATA && !defined STAT_READ_FILSYS
/* !Ultrix && !SVR2 */
fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
return 0;
}
-#if defined(_AIX) && defined(_I386)
+#if defined _AIX && defined _I386
/* AIX PS/2 does not supply statfs. */
int
diff --git a/lib/fsusage.h b/lib/fsusage.h
index e0c0db581d71ab192f2e9863a4d89d80461b748c..e2cbbf1270475a0cebacbbdbcf5a3e65d76085ee 100644 (file)
--- a/lib/fsusage.h
+++ b/lib/fsusage.h
/* fsusage.h -- declarations for filesystem space usage info
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+
+ Copyright (C) 1991, 1992, 1997, 2003 Free Software Foundation, Inc.
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
uintmax_t fsu_ffree; /* Free file nodes. */
};
-# ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
-
-int get_fs_usage PARAMS ((const char *path, const char *disk,
- struct fs_usage *fsp));
+int get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp);
#endif
diff --git a/lib/fsusage.m4 b/lib/fsusage.m4
index 85d0fc8f79047c569a5e01763c19d0caae7b4e86..a0ab1e15f31265636b2dd8eed802619e7d9d4543 100644 (file)
--- a/lib/fsusage.m4
+++ b/lib/fsusage.m4
-#serial 9
+#serial 11
# From fileutils/configure.in
+AC_DEFUN([gl_FSUSAGE],
+[
+ AC_CHECK_HEADERS_ONCE(sys/param.h)
+ AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs_types.h)
+ jm_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no])
+ if test $gl_cv_fs_space = yes; then
+ AC_LIBOBJ(fsusage)
+ gl_PREREQ_FSUSAGE_EXTRA
+ fi
+])
+
# Try to determine how a program can obtain filesystem usage information.
# If successful, define the appropriate symbol (see fsusage.c) and
# execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND.
ac_fsusage_space=yes)
fi
-dnl AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
-if test $ac_fsusage_space = yes ; then [$1] ; else [$2] ; fi
+AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
])
+
+
+# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
+# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
+# enable the work-around code in fsusage.c.
+AC_DEFUN([jm_STATFS_TRUNCATES],
+[
+ AC_MSG_CHECKING([for statfs that truncates block counts])
+ AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#if !defined(sun) && !defined(__sun)
+choke -- this is a workaround for a Sun-specific problem
+#endif
+#include <sys/types.h>
+#include <sys/vfs.h>]],
+ [[struct statfs t; long c = *(t.f_spare);]])],
+ [fu_cv_sys_truncating_statfs=yes],
+ [fu_cv_sys_truncating_statfs=no])])
+ if test $fu_cv_sys_truncating_statfs = yes; then
+ AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
+ [Define if the block counts reported by statfs may be truncated to 2GB
+ and the correct values may be stored in the f_spare array.
+ (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
+ SunOS 4.1.1 seems not to be affected.)])
+ fi
+ AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
+])
+
+
+# Prerequisites of lib/fsusage.c not done by jm_FILE_SYSTEM_USAGE.
+AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA],
+[
+ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
+ AC_CHECK_HEADERS_ONCE(fcntl.h)
+ AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h sys/statvfs.h)
+ jm_STATFS_TRUNCATES
+])
diff --git a/lib/full-read.h b/lib/full-read.h
--- /dev/null
+++ b/lib/full-read.h
@@ -0,0 +1,24 @@
+/* An interface to read() that reads all it is asked to read.
+
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+ 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, read to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include <stddef.h>
+
+/* Read COUNT bytes at BUF to descriptor FD, retrying if interrupted
+ or if partial reads occur. Return the number of bytes successfully
+ read, setting errno if that is less than COUNT. errno = 0 means EOF. */
+extern size_t full_read (int fd, void *buf, size_t count);
diff --git a/lib/getloadavg.c b/lib/getloadavg.c
index e9c4c08890203d4ac568b835ba07c7afc265132d..c6b6fee1098ab17e74e64a80ff9f78979d5ab085 100644 (file)
--- a/lib/getloadavg.c
+++ b/lib/getloadavg.c
/* Get the system load averages.
- Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997
- Free Software Foundation, Inc.
+
+ Copyright (C) 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1994,
+ 1995, 1997, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with gnulib.
+ Bugs can be reported to bug-gnulib@gnu.org.
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
LOAD_AVE_TYPE Type of the load average array in the kernel.
Must be defined unless one of
apollo, DGUX, NeXT, or UMAX is defined;
+ or we have libkstat;
otherwise, no load average is available.
+ HAVE_NLIST_H nlist.h is available. NLIST_STRUCT defaults
+ to this.
NLIST_STRUCT Include nlist.h, not a.out.h, and
the nlist n_name element is a pointer,
not an array.
- NLIST_NAME_UNION struct nlist has an n_un member, not n_name.
+ HAVE_STRUCT_NLIST_N_UN_N_NAME `n_un.n_name' is member of `struct nlist'.
LINUX_LDAV_FILE [__linux__]: File containing load averages.
+ HAVE_LOCALE_H locale.h is available.
+ HAVE_SETLOCALE The `setlocale' function is available.
Specific system predefines this file uses, aside from setting
default values if not emacs:
VMS
WINDOWS32 No-op for Windows95/NT.
__linux__ Linux: assumes /proc filesystem mounted.
- Support from Michael K. Johnson.
+ Support from Michael K. Johnson.
__NetBSD__ NetBSD: assumes /kern filesystem mounted.
In addition, to avoid nesting many #ifdefs, we internally set
/* Both the Emacs and non-Emacs sections want this. Some
configuration files' definitions for the LOAD_AVE_CVT macro (like
sparc.h's) use macros like FSCALE, defined here. */
-#ifdef unix
+#if defined (unix) || defined (__unix)
# include <sys/param.h>
#endif
extern int errno;
#endif
-#if HAVE_LOCALE_H
+#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
-#if !HAVE_SETLOCALE
+#ifndef HAVE_SETLOCALE
# define setlocale(Category, Locale) /* empty */
#endif
+#include "cloexec.h"
+
#ifndef HAVE_GETLOADAVG
/* The existing Emacs configuration files define a macro called
LOAD_AVE_CVT, but future machine config files should just define
LDAV_CVT directly. */
-# if !defined(LDAV_CVT) && defined(LOAD_AVE_CVT)
+# if !defined (LDAV_CVT) && defined (LOAD_AVE_CVT)
# define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0)
# endif
# undef FSCALE
# endif
+/* Same issues as for NeXT apply to the HURD-based GNU system. */
+# ifdef __GNU__
+# undef BSD
+# undef FSCALE
+# endif /* __GNU__ */
+
/* Set values that are different from the defaults, which are
set a little farther down with #ifndef. */
# define sun
# endif
-# if defined(hp300) && !defined(hpux)
+# if defined (hp300) && !defined (hpux)
# define MORE_BSD
# endif
-# if defined(ultrix) && defined(mips)
+# if defined (ultrix) && defined (mips)
# define decstation
# endif
# define SVR4
# endif
-# if (defined(sun) && defined(SVR4)) || defined (SOLARIS2)
+# if (defined (sun) && defined (SVR4)) || defined (SOLARIS2)
# define SUNOS_5
# endif
# define LOAD_AVE_TYPE long
# endif
-# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+# if defined (alliant) && defined (i860) /* Alliant FX/2800 */
# define LOAD_AVE_TYPE long
# endif
# define FSCALE 1024.0
# endif
-# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
+# if defined (alliant) && defined (i860) /* Alliant FX/2800 */
/* <sys/param.h> defines an incorrect value for FSCALE on an
Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu. */
# undef FSCALE
# define FSCALE 2048.0
# endif
-# if defined(MIPS) || defined(SVR4) || defined(decstation)
+# if defined (MIPS) || defined (SVR4) || defined (decstation)
# define FSCALE 256
# endif
# endif
# endif
-/* VAX C can't handle multi-line #ifs, or lines longer that 256 characters. */
-# ifndef NLIST_STRUCT
-
-# ifdef MORE_BSD
-# define NLIST_STRUCT
-# endif
-
-# ifdef sun
-# define NLIST_STRUCT
-# endif
-
-# ifdef decstation
-# define NLIST_STRUCT
-# endif
-
-# ifdef hpux
-# define NLIST_STRUCT
-# endif
-
-# if defined (_SEQUENT_) || defined (sequent)
-# define NLIST_STRUCT
-# endif
-
-# ifdef sgi
-# define NLIST_STRUCT
-# endif
-
-# ifdef SVR4
-# define NLIST_STRUCT
-# endif
-
-# ifdef sony_news
-# define NLIST_STRUCT
-# endif
-
-# ifdef OSF_ALPHA
-# define NLIST_STRUCT
-# endif
-
-# if defined (ardent) && defined (titan)
-# define NLIST_STRUCT
-# endif
-
-# ifdef tek4300
-# define NLIST_STRUCT
-# endif
-
-# ifdef butterfly
-# define NLIST_STRUCT
-# endif
-
-# if defined(alliant) && defined(i860) /* Alliant FX/2800 */
-# define NLIST_STRUCT
-# endif
-
-# ifdef _AIX
-# define NLIST_STRUCT
-# endif
-
-# endif /* defined (NLIST_STRUCT) */
-
-
-# if defined(sgi) || (defined(mips) && !defined(BSD))
+# if defined (sgi) || (defined (mips) && !defined (BSD))
# define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31))
# endif
# define KERNEL_FILE "/hp-ux"
# endif
-# if !defined(KERNEL_FILE) && (defined(_SEQUENT_) || defined(MIPS) || defined(SVR4) || defined(ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
+# if !defined (KERNEL_FILE) && (defined (_SEQUENT_) || defined (MIPS) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)))
# define KERNEL_FILE "/unix"
# endif
# define LDAV_SYMBOL "_Loadavg"
# endif
-# if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
+# if !defined (LDAV_SYMBOL) && ((defined (hpux) && !defined (hp9000s300)) || defined (_SEQUENT_) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
# define LDAV_SYMBOL "avenrun"
# endif
/* LOAD_AVE_TYPE should only get defined if we're going to use the
nlist method. */
-# if !defined(LOAD_AVE_TYPE) && (defined(BSD) || defined(LDAV_CVT) || defined(KERNEL_FILE) || defined(LDAV_SYMBOL))
+# if !defined (LOAD_AVE_TYPE) && (defined (BSD) || defined (LDAV_CVT) || defined (KERNEL_FILE) || defined (LDAV_SYMBOL))
# define LOAD_AVE_TYPE double
# endif
# endif /* LOAD_AVE_TYPE */
-# if defined(__GNU__) && !defined (NeXT)
+# if defined (__GNU__) && !defined (NeXT)
/* Note that NeXT Openstep defines __GNU__ even though it should not. */
/* GNU system acts much like NeXT, for load average purposes,
but not exactly. */
# include <sys/dg_sys_info.h>
# endif
-# if defined(HAVE_FCNTL_H) || defined(_POSIX_VERSION)
+# if defined (HAVE_FCNTL_H) || defined (_POSIX_VERSION)
# include <fcntl.h>
# else
# include <sys/file.h>
static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */
# endif /* DGUX */
-# ifdef LOAD_AVE_TYPE
+# if !defined (HAVE_LIBKSTAT) && defined (LOAD_AVE_TYPE)
/* File descriptor open to /dev/kmem or VMS load ave driver. */
static int channel;
/* Nonzero iff channel is valid. */
/* Offset in kmem to seek to read load average, or 0 means invalid. */
static long offset;
-# if !defined(VMS) && !defined(sgi) && !defined(__linux__)
+# if !defined (VMS) && !defined (sgi) && !defined (__linux__)
static struct nlist nl[2];
# endif /* Not VMS or sgi */
static kvm_t *kd;
# endif /* SUNOS_5 */
-# endif /* LOAD_AVE_TYPE */
+# endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */
\f
/* Put the 1 minute, 5 minute and 15 minute load averages
into the first NELEM elements of LOADAVG.
or -1 if an error occurred. */
int
-getloadavg (loadavg, nelem)
- double loadavg[];
- int nelem;
+getloadavg (double loadavg[], int nelem)
{
int elem = 0; /* Return value. */
if (kc == 0)
return -1;
ksp = kstat_lookup (kc, "unix", 0, "system_misc");
- if (ksp == 0 )
+ if (ksp == 0)
return -1;
if (kstat_read (kc, ksp, 0) == -1)
return -1;
}
if (nelem >= 1)
- loadavg[elem++] = (double) kn->value.ul/FSCALE;
+ loadavg[elem++] = (double) kn->value.ul / FSCALE;
if (nelem >= 2)
{
kn = kstat_data_lookup (ksp, "avenrun_5min");
if (kn != 0)
{
- loadavg[elem++] = (double) kn->value.ul/FSCALE;
+ loadavg[elem++] = (double) kn->value.ul / FSCALE;
if (nelem >= 3)
{
kn = kstat_data_lookup (ksp, "avenrun_15min");
if (kn != 0)
- loadavg[elem++] = (double) kn->value.ul/FSCALE;
+ loadavg[elem++] = (double) kn->value.ul / FSCALE;
}
}
}
for (elem = 0; elem < nelem; elem++)
loadavg[elem]
= (load_ave.tl_lscale == 0
- ? load_ave.tl_avenrun.d[elem]
- : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
+ ? load_ave.tl_avenrun.d[elem]
+ : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale));
# endif /* OSF_ALPHA */
# if !defined (LDAV_DONE) && defined (VMS)
return -1;
# endif /* VMS */
-# if !defined (LDAV_DONE) && defined(LOAD_AVE_TYPE) && !defined(VMS)
+# if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) && !defined (VMS)
/* UNIX-specific code -- read the average from /dev/kmem. */
strcpy (nl[0].n_name, LDAV_SYMBOL);
strcpy (nl[1].n_name, "");
# else /* NLIST_STRUCT */
-# ifdef NLIST_NAME_UNION
+# ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME
nl[0].n_un.n_name = LDAV_SYMBOL;
nl[1].n_un.n_name = 0;
-# else /* not NLIST_NAME_UNION */
+# else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
nl[0].n_name = LDAV_SYMBOL;
nl[1].n_name = 0;
-# endif /* not NLIST_NAME_UNION */
+# endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */
# endif /* NLIST_STRUCT */
# ifndef SUNOS_5
{
/* Set the channel to close on exec, so it does not
litter any child's descriptor table. */
-# ifdef FD_SETFD
-# ifndef FD_CLOEXEC
-# define FD_CLOEXEC 1
-# endif
- (void) fcntl (channel, F_SETFD, FD_CLOEXEC);
-# endif
+ set_cloexec_flag (channel, true);
getloadavg_initialized = 1;
}
# else /* SUNOS_5 */
# else /* SUNOS_5 */
if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave))
!= sizeof (load_ave))
- {
- kvm_close (kd);
- getloadavg_initialized = 0;
+ {
+ kvm_close (kd);
+ getloadavg_initialized = 0;
}
# endif /* SUNOS_5 */
}
\f
#ifdef TEST
void
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int naptime = 0;
diff --git a/lib/getopt.c b/lib/getopt.c
index 289d137e20babf967f75a5baa19c904b2ff5b68a..6dcdbebf5e8cb433630a4a79ce83e188ad89a34b 100644 (file)
--- a/lib/getopt.c
+++ b/lib/getopt.c
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002
- Free Software Foundation, Inc.
+
+ Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
+ 1996, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+ Inc.
+
This file is part of the GNU C Library.
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
+ 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.
- The GNU C Library is distributed in the hope that it will be useful,
+ 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
- Lesser General Public License for more details.
+ 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 Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 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. */
\f
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
# include <config.h>
#endif
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-# ifndef const
-# define const
-# endif
-#endif
-
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
# include <unistd.h>
#endif /* GNU C library. */
+#include <string.h>
+
#ifdef VMS
# include <unixlib.h>
-# if HAVE_STRING_H - 0
-# include <string.h>
-# endif
#endif
-#ifndef _
+#ifdef _LIBC
+# include <libintl.h>
+#else
/* This is for other GNU distributions with internationalized messages. */
-# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
-# include <libintl.h>
-# ifndef _
-# define _(msgid) gettext (msgid)
-# endif
-# else
-# define _(msgid) (msgid)
-# endif
-# if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-# endif
+# include "gettext.h"
+#endif
+#define _(msgid) gettext (msgid)
+
+#if defined _LIBC && defined USE_IN_LIBIO
+# include <wchar.h>
#endif
#ifndef attribute_hidden
/* Value of POSIXLY_CORRECT environment variable. */
static char *posixly_correct;
\f
-#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-# include <string.h>
-# define my_index strchr
-#else
-
-# if HAVE_STRING_H
-# include <string.h>
-# else
-# include <strings.h>
-# endif
+#ifndef __GNU_LIBRARY__
/* Avoid depending on library functions or files
whose names are inconsistent. */
extern char *getenv ();
#endif
-static char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-# if (!defined __STDC__ || !__STDC__) && !defined strlen
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-# endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
#endif /* not __GNU_LIBRARY__ */
\f
/* Handle permutation of arguments. */
`first_nonopt' and `last_nonopt' are relocated so that they describe
the new indices of the non-options in ARGV after they are moved. */
-#if defined __STDC__ && __STDC__
-static void exchange (char **);
-#endif
-
static void
-exchange (argv)
- char **argv;
+exchange (char **argv)
{
int bottom = first_nonopt;
int middle = last_nonopt;
/* Initialize the internal data when the first call is made. */
-#if defined __STDC__ && __STDC__
-static const char *_getopt_initialize (int, char *const *, const char *);
-#endif
static const char *
-_getopt_initialize (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
+_getopt_initialize (int argc, char *const *argv, const char *optstring)
{
/* Start processing options with ARGV-element 1 (since ARGV-element 0
is the program name); the sequence of previously skipped
long-named options. */
int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
+_getopt_internal (int argc, char *const *argv,
+ const char *optstring, const struct option *longopts,
+ int *longind, int long_only)
{
int print_errors = opterr;
if (optstring[0] == ':')
if (longopts != NULL
&& (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
+ || (long_only
+ && (argv[optind][2] || !strchr (optstring, argv[optind][1])))))
{
char *nameend;
const struct option *p;
option, then it's an error.
Otherwise interpret it as a short option. */
if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
+ || strchr (optstring, *nextchar) == NULL)
{
if (print_errors)
{
{
char c = *nextchar++;
- char *temp = my_index (optstring, c);
+ char *temp = strchr (optstring, c);
/* Increment `optind' when we start to process its last character. */
if (*nextchar == '\0')
}
int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
+getopt (int argc, char *const *argv, const char *optstring)
{
return _getopt_internal (argc, argv, optstring,
(const struct option *) 0,
the above definition of `getopt'. */
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int c;
int digit_optind = 0;
diff --git a/lib/getopt.h b/lib/getopt.h
index 4283c35b168acb3a4a4770cd6f646797478128ab..5e15191e672a81c44521216606f263408c882884 100644 (file)
--- a/lib/getopt.h
+++ b/lib/getopt.h
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
+
+ Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
+ 1999, 2001, 2003 Free Software Foundation, Inc.
+
This file is part of the GNU C Library.
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
+ 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.
- The GNU C Library is distributed in the hope that it will be useful,
+ 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
- Lesser General Public License for more details.
+ 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 Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 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. */
#ifndef _GETOPT_H
The field `has_arg' is:
no_argument (or 0) if the option does not take an argument,
required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
+ optional_argument (or 2) if the option takes an optional argument.
If the field `flag' is not NULL, it points to a variable that is set
to the value given in the field `val' when the option is found, but
struct option
{
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
const char *name;
-# else
- char *name;
-# endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
-#if (defined __STDC__ && __STDC__) || defined __cplusplus
-# ifdef __GNU_LIBRARY__
+#ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
-# else /* not __GNU_LIBRARY__ */
+#else /* not __GNU_LIBRARY__ */
extern int getopt ();
-# endif /* __GNU_LIBRARY__ */
+#endif /* __GNU_LIBRARY__ */
-# ifndef __need_getopt
+#ifndef __need_getopt
extern int getopt_long (int ___argc, char *const *___argv,
const char *__shortopts,
const struct option *__longopts, int *__longind);
const char *__shortopts,
const struct option *__longopts, int *__longind,
int __long_only);
-# endif
-#else /* not __STDC__ */
-extern int getopt ();
-# ifndef __need_getopt
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-# endif
-#endif /* __STDC__ */
+#endif
#ifdef __cplusplus
}
diff --git a/lib/getopt1.c b/lib/getopt1.c
index ad06cc7f9e84b3ee030c454f85805dbd290e06cf..3288c726134471a39e12a6e8e9f59f82dc9836a1 100644 (file)
--- a/lib/getopt1.c
+++ b/lib/getopt1.c
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
- Free Software Foundation, Inc.
+
+ Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996,
+ 1997, 1998, 2003 Free Software Foundation, Inc.
+
This file is part of the GNU C Library.
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
+ 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.
- The GNU C Library is distributed in the hope that it will be useful,
+ 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
- Lesser General Public License for more details.
+ 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 Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ 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. */
\f
#ifdef HAVE_CONFIG_H
#include <config.h>
# include "getopt.h"
#endif
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
#endif
int
-getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
+getopt_long (int argc,
+ char *const *argv,
+ const char *options,
+ const struct option *long_options,
+ int *opt_index)
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
}
instead. */
int
-getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
+getopt_long_only (int argc,
+ char *const *argv,
+ const char *options,
+ const struct option *long_options,
+ int *opt_index)
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
#include <stdio.h>
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int c;
int digit_optind = 0;
diff --git a/lib/gettext.h b/lib/gettext.h
index 8b262f4cfd789f4c367d6427d391ca83cff0c5c2..835732e01fe55ea5d4d5a25e63f0993835d2ff48 100644 (file)
--- a/lib/gettext.h
+++ b/lib/gettext.h
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public License as published
- by the Free Software Foundation; either version 2, or (at your option)
+ 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
- Library General Public License for more details.
+ 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 Library 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. */
+ 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. */
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1
diff --git a/lib/ls-mntd-fs.m4 b/lib/ls-mntd-fs.m4
index 3ba42a315cd9ab0da7beff3e3380549e0eda08e3..c28466bb02ee227055c8183233145675607e9d9c 100644 (file)
--- a/lib/ls-mntd-fs.m4
+++ b/lib/ls-mntd-fs.m4
-#serial 12
+#serial 14
dnl From Jim Meyering.
dnl
AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS],
[
AC_CHECK_FUNCS(listmntent getmntinfo)
-AC_CHECK_HEADERS(mntent.h sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h)
+AC_CHECK_HEADERS_ONCE(sys/param.h)
+
+# We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses
+# NGROUPS (as the array dimension for a struct member) without a definition.
+AC_CHECK_HEADERS(sys/ucred.h, [], [], [#include <grp.h>])
+
+AC_CHECK_HEADERS(mntent.h sys/mount.h sys/fs_types.h)
getfsstat_includes="\
$ac_includes_default
#if HAVE_SYS_PARAM_H
# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
#endif
#if HAVE_SYS_UCRED_H
+# include <grp.h> /* needed for definition of NGROUPS */
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
#endif
#if HAVE_SYS_MOUNT_H
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_LISTMNTENT, 1,
[Define if there is a function named listmntent that can be used to
- list all mounted filesystems. (UNICOS)])
+ list all mounted filesystems. (UNICOS)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_VMOUNT, 1,
[Define if there is a function named mntctl that can be used to read
- the list of mounted filesystems, and there is a system header file
- that declares `struct vmount.' (AIX)])
+ the list of mounted filesystems, and there is a system header file
+ that declares `struct vmount.' (AIX)])
fi
fi
if test $fu_cv_sys_mounted_getmntent1 = yes; then
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT1, 1,
- [Define if there is a function named getmntent for reading the list
- of mounted filesystems, and that function takes a single argument.
- (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
+ [Define if there is a function named getmntent for reading the list
+ of mounted filesystems, and that function takes a single argument.
+ (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
fi
fi
if test $fu_cv_sys_mounted_getmntent2 = yes; then
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT2, 1,
- [Define if there is a function named getmntent for reading the list of
- mounted filesystems, and that function takes two arguments. (SVR4)])
+ [Define if there is a function named getmntent for reading the list of
+ mounted filesystems, and that function takes two arguments. (SVR4)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETFSSTAT, 1,
[Define if there is a function named getfsstat for reading the
- list of mounted filesystems. (DEC Alpha running OSF/1)])
+ list of mounted filesystems. (DEC Alpha running OSF/1)])
fi
fi
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
-[Define if (like SVR2) there is no specific function for reading the
- list of mounted filesystems, and your system has these header files:
- <sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
+ [Define if (like SVR2) there is no specific function for reading the
+ list of mounted filesystems, and your system has these header files:
+ <sys/fstyp.h> and <sys/statfs.h>. (SVR3)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
[Define if there is a function named getmntinfo for reading the
- list of mounted filesystems. (4.4BSD, Darwin)])
+ list of mounted filesystems. (4.4BSD, Darwin)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNT, 1,
[Define if there is a function named getmnt for reading the list of
- mounted filesystems. (Ultrix)])
+ mounted filesystems. (Ultrix)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
[Define if there are functions named next_dev and fs_stat_dev for
- reading the list of mounted filesystems. (BeOS)])
+ reading the list of mounted filesystems. (BeOS)])
fi
fi
ac_list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD, 1,
[Define if there is no specific function for reading the list of
- mounted filesystems. fread will be used to read /etc/mnttab. (SVR2) ])
+ mounted filesystems. fread will be used to read /etc/mnttab.
+ (SVR2) ])
fi
fi
diff --git a/lib/malloc.c b/lib/malloc.c
index 5e7674bd47d541f17348164f049d3122f17f1ea9..a43d169271b733412ba2f8326fd7f7643de93869 100644 (file)
--- a/lib/malloc.c
+++ b/lib/malloc.c
#endif
#undef malloc
-#include <sys/types.h>
-
-char *malloc ();
+#include <stdlib.h>
/* Allocate an N-byte block of memory from the heap.
If N is zero, allocate a 1-byte block. */
-char *
+void *
rpl_malloc (size_t n)
{
if (n == 0)
diff --git a/lib/mountlist.c b/lib/mountlist.c
index 1af3cbbd0fdf68beaed4fcbc6a7e15deaccfaeb4..631be31233c4289a0bcbe783d5ff0e569e581f97 100644 (file)
--- a/lib/mountlist.c
+++ b/lib/mountlist.c
/* mountlist.c -- return a list of mounted filesystems
- Copyright (C) 1991, 1992, 1997-2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997-2004 Free Software Foundation, Inc.
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
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#include "config.h"
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <stdio.h>
#include <sys/types.h>
-#include "mountlist.h"
+#include <stdlib.h>
+#include <string.h>
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-#else
-void free ();
-#endif
-#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
-# include <string.h>
-#else
-# include <strings.h>
+#include "xalloc.h"
+
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
#endif
#ifndef strstr
char *strstr ();
#endif
-/* char *xmalloc (); */
-/* char *realloc (); */
-/* char *xstrdup (); */
#include <errno.h>
#ifndef errno
# include <sys/param.h>
#endif
-#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
-# include <sys/mount.h>
-# include <sys/fs_types.h>
+#if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
+# if HAVE_SYS_UCRED_H
+# include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
+ NGROUPS is used as an array dimension in ucred.h */
+# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
+# endif
+# if HAVE_SYS_MOUNT_H
+# include <sys/mount.h>
+# endif
+# if HAVE_SYS_FS_TYPES_H
+# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
+# endif
+# if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
+# define FS_TYPE(Ent) ((Ent).f_fstypename)
+# else
+# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
+# endif
#endif /* MOUNTED_GETFSSTAT */
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
# include <mntent.h>
-# if !defined(MOUNTED)
-# if defined(MNT_MNTTAB) /* HP-UX. */
+# if !defined MOUNTED
+# if defined _PATH_MOUNTED /* GNU libc */
+# define MOUNTED _PATH_MOUNTED
+# endif
+# if defined MNT_MNTTAB /* HP-UX. */
# define MOUNTED MNT_MNTTAB
# endif
-# if defined(MNTTABNAME) /* Dynix. */
+# if defined MNTTABNAME /* Dynix. */
# define MOUNTED MNTTABNAME
# endif
# endif
# include <sys/mntent.h>
#endif
-#if defined (MNTOPT_IGNORE) && defined (HAVE_HASMNTOPT)
+#undef MNT_IGNORE
+#if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT
# define MNT_IGNORE(M) hasmntopt ((M), MNTOPT_IGNORE)
#else
# define MNT_IGNORE(M) 0
#endif
+#include "mountlist.h"
+#include "unlocked-io.h"
+
#ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */
/* Return the value of the hexadecimal number represented by CP.
No prefix (like '0x') or suffix (like 'h') is expected to be
remove. Specifically, automount create normal NFS mounts.
*/
- if(listmntent(&mntlist, KMTAB, NULL, NULL) < 0)
+ if (listmntent (&mntlist, KMTAB, NULL, NULL) < 0)
return NULL;
for (p = mntlist; p; p = p->next) {
mnt = p->ment;
- me = (struct mount_entry*) malloc(sizeof (struct mount_entry));
- me->me_devname = strdup(mnt->mnt_fsname);
- me->me_mountdir = strdup(mnt->mnt_dir);
- me->me_type = strdup(mnt->mnt_type);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (mnt->mnt_fsname);
+ me->me_mountdir = xstrdup (mnt->mnt_dir);
+ me->me_type = xstrdup (mnt->mnt_type);
+ me->me_type_malloced = 1;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = -1;
*mtail = me;
mtail = &me->me_next;
}
- freemntlist(mntlist);
+ freemntlist (mntlist);
}
#endif
while ((mnt = getmntent (fp)))
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (mnt->mnt_fsname);
- me->me_mountdir = strdup (mnt->mnt_dir);
- me->me_type = strdup (mnt->mnt_type);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (mnt->mnt_fsname);
+ me->me_mountdir = xstrdup (mnt->mnt_dir);
+ me->me_type = xstrdup (mnt->mnt_type);
+ me->me_type_malloced = 1;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
devopt = strstr (mnt->mnt_opts, "dev=");
{
char *fs_type = fsp_to_string (fsp);
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (fsp->f_mntfromname);
- me->me_mountdir = strdup (fsp->f_mntonname);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (fsp->f_mntfromname);
+ me->me_mountdir = xstrdup (fsp->f_mntonname);
me->me_type = fs_type;
+ me->me_type_malloced = 0;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
0 < (val = getmnt (&offset, &fsd, sizeof (fsd), NOSTAT_MANY,
(char *) 0)))
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (fsd.fd_req.devname);
- me->me_mountdir = strdup (fsd.fd_req.path);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (fsd.fd_req.devname);
+ me->me_mountdir = xstrdup (fsd.fd_req.path);
me->me_type = gt_names[fsd.fd_req.fstype];
+ me->me_type_malloced = 0;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = fsd.fd_req.dev;
}
#endif /* MOUNTED_GETMNT. */
-#if defined (MOUNTED_FS_STAT_DEV) /* BeOS */
+#if defined MOUNTED_FS_STAT_DEV /* BeOS */
{
/* The next_dev() and fs_stat_dev() system calls give the list of
all filesystems, including the information returned by statvfs()
continue;
if (strcmp (d->d_name, ".") == 0)
- name = strdup ("/");
+ name = xstrdup ("/");
else
{
- name = malloc (1 + strlen (d->d_name) + 1);
+ name = xmalloc (1 + strlen (d->d_name) + 1);
name[0] = '/';
strcpy (name + 1, d->d_name);
}
if (lstat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
{
- struct rootdir_entry *re;
-
- re = (struct rootdir_entry *) malloc (sizeof (struct rootdir_entry));
+ struct rootdir_entry *re = xmalloc (sizeof *re);
re->name = name;
re->dev = statbuf.st_dev;
re->ino = statbuf.st_ino;
if (re->dev == fi.dev && re->ino == fi.root)
break;
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (fi.device_name[0] != '\0' ? fi.device_name : fi.fsh_name);
- me->me_mountdir = strdup (re != NULL ? re->name : fi.fsh_name);
- me->me_type = strdup (fi.fsh_name);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (fi.device_name[0] != '\0' ? fi.device_name : fi.fsh_name);
+ me->me_mountdir = xstrdup (re != NULL ? re->name : fi.fsh_name);
+ me->me_type = xstrdup (fi.fsh_name);
+ me->me_type_malloced = 1;
me->me_dev = fi.dev;
me->me_dummy = 0;
me->me_remote = (fi.flags & B_FS_IS_SHARED) != 0;
}
#endif /* MOUNTED_FS_STAT_DEV */
-#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
+#if defined MOUNTED_GETFSSTAT /* __alpha running OSF_1 */
{
- int numsys, counter, bufsize;
+ int numsys, counter;
+ size_t bufsize;
struct statfs *stats;
- numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
+ numsys = getfsstat ((struct statfs *)0, 0L, MNT_NOWAIT);
if (numsys < 0)
return (NULL);
+ if (SIZE_MAX / sizeof *stats <= numsys)
+ xalloc_die ();
- bufsize = (1 + numsys) * sizeof (struct statfs);
- stats = (struct statfs *)malloc (bufsize);
- numsys = getfsstat (stats, bufsize, MNT_WAIT);
+ bufsize = (1 + numsys) * sizeof *stats;
+ stats = xmalloc (bufsize);
+ numsys = getfsstat (stats, bufsize, MNT_NOWAIT);
if (numsys < 0)
{
for (counter = 0; counter < numsys; counter++)
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (stats[counter].f_mntfromname);
- me->me_mountdir = strdup (stats[counter].f_mntonname);
- me->me_type = mnt_names[stats[counter].f_type];
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (stats[counter].f_mntfromname);
+ me->me_mountdir = xstrdup (stats[counter].f_mntonname);
+ me->me_type = xstrdup (FS_TYPE (stats[counter]));
+ me->me_type_malloced = 1;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
}
#endif /* MOUNTED_GETFSSTAT */
-#if defined (MOUNTED_FREAD) || defined (MOUNTED_FREAD_FSTYP) /* SVR[23]. */
+#if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */
{
struct mnttab mnt;
char *table = "/etc/mnttab";
while (fread (&mnt, sizeof mnt, 1, fp) > 0)
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
+ me = xmalloc (sizeof *me);
# ifdef GETFSTYP /* SVR3. */
- me->me_devname = strdup (mnt.mt_dev);
+ me->me_devname = xstrdup (mnt.mt_dev);
# else
- me->me_devname = malloc (strlen (mnt.mt_dev) + 6);
+ me->me_devname = xmalloc (strlen (mnt.mt_dev) + 6);
strcpy (me->me_devname, "/dev/");
strcpy (me->me_devname + 5, mnt.mt_dev);
# endif
- me->me_mountdir = strdup (mnt.mt_filsys);
+ me->me_mountdir = xstrdup (mnt.mt_filsys);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
me->me_type = "";
+ me->me_type_malloced = 0;
# ifdef GETFSTYP /* SVR3. */
if (need_fs_type)
{
if (statfs (me->me_mountdir, &fsd, sizeof fsd, 0) != -1
&& sysfs (GETFSTYP, fsd.f_fstyp, typebuf) != -1)
- me->me_type = strdup (typebuf);
+ {
+ me->me_type = xstrdup (typebuf);
+ me->me_type_malloced = 1;
+ }
}
# endif
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
if (ferror (fp))
{
+ /* The last fread() call must have failed. */
int saved_errno = errno;
fclose (fp);
errno = saved_errno;
#ifdef MOUNTED_GETMNTTBL /* DolphinOS goes it's own way */
{
- struct mntent **mnttbl=getmnttbl(),**ent;
+ struct mntent **mnttbl = getmnttbl (), **ent;
for (ent=mnttbl;*ent;ent++)
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup ( (*ent)->mt_resource);
- me->me_mountdir = strdup( (*ent)->mt_directory);
- me->me_type = strdup ((*ent)->mt_fstype);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup ( (*ent)->mt_resource);
+ me->me_mountdir = xstrdup ( (*ent)->mt_directory);
+ me->me_type = xstrdup ((*ent)->mt_fstype);
+ me->me_type_malloced = 1;
me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
*mtail = me;
mtail = &me->me_next;
}
- endmnttbl();
+ endmnttbl ();
}
#endif
{
while ((ret = getmntent (fp, &mnt)) == 0)
{
- me = (struct mount_entry *) malloc (sizeof (struct mount_entry));
- me->me_devname = strdup (mnt.mnt_special);
- me->me_mountdir = strdup (mnt.mnt_mountp);
- me->me_type = strdup (mnt.mnt_fstype);
+ me = xmalloc (sizeof *me);
+ me->me_devname = xstrdup (mnt.mnt_special);
+ me->me_mountdir = xstrdup (mnt.mnt_mountp);
+ me->me_type = xstrdup (mnt.mnt_fstype);
+ me->me_type_malloced = 1;
me->me_dummy = MNT_IGNORE (&mnt) != 0;
me->me_remote = ME_REMOTE (me->me_devname, me->me_type);
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
int bufsize;
char *entries, *thisent;
struct vmount *vmp;
+ int n_entries;
+ int i;
/* Ask how many bytes to allocate for the mounted filesystem info. */
- mntctl (MCTL_QUERY, sizeof bufsize, (struct vmount *) &bufsize);
- entries = malloc (bufsize);
+ if (mntctl (MCTL_QUERY, sizeof bufsize, (struct vmount *) &bufsize) != 0)
+ return NULL;
+ entries = xmalloc (bufsize);
/* Get the list of mounted filesystems. */
- mntctl (MCTL_QUERY, bufsize, (struct vmount *) entries);
+ n_entries = mntctl (MCTL_QUERY, bufsize, (struct vmount *) entries);
+ if (n_entries < 0)
+ {
+ int saved_errno = errno;
+ free (entries);
+ errno = saved_errno;
+ return NULL;
+ }
- for (thisent = entries; thisent < entries + bufsize;
- thisent += vmp->vmt_length)
+ for (i = 0, thisent = entries;
+ i < n_entries;
+ i++, thisent += vmp->vmt_length)
{
char *options, *ignore;
vmp = (struct vmount *) thisent;
- me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
+ me = xmalloc (sizeof *me);
if (vmp->vmt_flags & MNT_REMOTE)
{
char *host, *path;
/* Prepend the remote pathname. */
host = thisent + vmp->vmt_data[VMT_HOSTNAME].vmt_off;
path = thisent + vmp->vmt_data[VMT_OBJECT].vmt_off;
- me->me_devname = malloc (strlen (host) + strlen (path) + 2);
+ me->me_devname = xmalloc (strlen (host) + strlen (path) + 2);
strcpy (me->me_devname, host);
strcat (me->me_devname, ":");
strcat (me->me_devname, path);
else
{
me->me_remote = 0;
- me->me_devname = strdup (thisent +
+ me->me_devname = xstrdup (thisent +
vmp->vmt_data[VMT_OBJECT].vmt_off);
}
- me->me_mountdir = strdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
- me->me_type = strdup (fstype_to_string (vmp->vmt_gfstype));
+ me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
+ me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype));
+ me->me_type_malloced = 1;
options = thisent + vmp->vmt_data[VMT_ARGS].vmt_off;
ignore = strstr (options, "ignore");
me->me_dummy = (ignore
me = mount_list->me_next;
free (mount_list->me_devname);
free (mount_list->me_mountdir);
- /* FIXME: me_type is not always malloced. */
+ if (mount_list->me_type_malloced)
+ free (mount_list->me_type);
free (mount_list);
mount_list = me;
}
diff --git a/lib/mountlist.h b/lib/mountlist.h
index c41490c95ad2377f1ee8f7679b77110927bbd830..9e550a082ea6d96021a7f555d8eabcdd9f6e90a2 100644 (file)
--- a/lib/mountlist.h
+++ b/lib/mountlist.h
/* mountlist.h -- declarations for list of mounted filesystems
- Copyright (C) 1991, 1992, 1998, 2000 Free Software Foundation, Inc.
+
+ Copyright (C) 1991, 1992, 1998, 2000, 2001, 2002, 2003 Free
+ Software Foundation, Inc.
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
dev_t me_dev; /* Device number of me_mountdir. */
unsigned int me_dummy : 1; /* Nonzero for dummy filesystems. */
unsigned int me_remote : 1; /* Nonzero for remote fileystems. */
+ unsigned int me_type_malloced : 1; /* Nonzero if me_type was malloced. */
struct mount_entry *me_next;
};
-#ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-#endif
-
-struct mount_entry *read_filesystem_list PARAMS ((int need_fs_type));
+struct mount_entry *read_filesystem_list (int need_fs_type);
#ifndef ME_DUMMY
-# define ME_DUMMY(fs_name, fs_type) \
- (!strcmp (fs_type, "auto") \
- || !strcmp (fs_type, "autofs") \
+# define ME_DUMMY(Fs_name, Fs_type) \
+ (!strcmp (Fs_type, "autofs") \
/* for Irix 6.5 */ \
- || !strcmp (fs_type, "ignore"))
+ || !strcmp (Fs_type, "ignore"))
#endif
+#undef STREQ
+#define STREQ(a, b) (strcmp ((a), (b)) == 0)
+
#ifndef ME_REMOTE
-# define ME_REMOTE(fs_name, fs_type) (strchr (fs_name, ':') != 0)
+/* A file system is `remote' if its Fs_name contains a `:'
+ or if (it is of type smbfs and its Fs_name starts with `//'). */
+# define ME_REMOTE(Fs_name, Fs_type) \
+ (strchr ((Fs_name), ':') != 0 \
+ || ((Fs_name)[0] == '/' \
+ && (Fs_name)[1] == '/' \
+ && STREQ (Fs_type, "smbfs")))
#endif
diff --git a/lib/onceonly.m4 b/lib/onceonly.m4
--- /dev/null
+++ b/lib/onceonly.m4
@@ -0,0 +1,63 @@
+# onceonly.m4 serial 3 (gettext-0.12)
+dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl This file defines some "once only" variants of standard autoconf macros.
+dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
+dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
+dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
+dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
+dnl The advantage is that the check for each of the headers/functions/decls
+dnl will be put only once into the 'configure' file. It keeps the size of
+dnl the 'configure' file down, and avoids redundant output when 'configure'
+dnl is run.
+dnl The drawback is that the checks cannot be conditionalized. If you write
+dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
+dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
+dnl empty, and the check will be inserted before the body of the AC_DEFUNed
+dnl function.
+
+dnl Autoconf version 2.57 or newer is recommended.
+AC_PREREQ(2.54)
+
+# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
+# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
+AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
+ :
+ AC_FOREACH([gl_HEADER_NAME], [$1], [
+ AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]),
+ [-./], [___])), [
+ AC_CHECK_HEADERS(gl_HEADER_NAME)
+ ])
+ AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
+ [-./], [___])))
+ ])
+])
+
+# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
+# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
+AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
+ :
+ AC_FOREACH([gl_FUNC_NAME], [$1], [
+ AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
+ AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME]))
+ ])
+ AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
+ ])
+])
+
+# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
+# AC_CHECK_DECLS(DECL1, DECL2, ...).
+AC_DEFUN([AC_CHECK_DECLS_ONCE], [
+ :
+ AC_FOREACH([gl_DECL_NAME], [$1], [
+ AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [
+ AC_CHECK_DECLS(m4_defn([gl_DECL_NAME]))
+ ])
+ AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]))
+ ])
+])
diff --git a/lib/realloc.c b/lib/realloc.c
index d0d3e4ab07c242e9ca96710be79c703bd181895b..ccbf991388e5010bb8399d016cdb57e5ac34ed2c 100644 (file)
--- a/lib/realloc.c
+++ b/lib/realloc.c
/* Work around bug on some systems where realloc (NULL, 0) fails.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2003 Free Software Foundation, Inc.
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
#endif
#undef realloc
-#include <sys/types.h>
-
-char *malloc ();
-char *realloc ();
+#include <stdlib.h>
/* Change the size of an allocated block of memory P to N bytes,
with error checking. If N is zero, change it to 1. If P is NULL,
use malloc. */
-char *
-rpl_realloc (p, n)
- char *p;
- size_t n;
+void *
+rpl_realloc (void *p, size_t n)
{
if (n == 0)
n = 1;
diff --git a/lib/snprintf.c b/lib/snprintf.c
index 3de2a96f8f09a55c2944f7b0f00b201718033177..633517def2866e2d2cbf6e1d04d46f247294bb7b 100644 (file)
--- a/lib/snprintf.c
+++ b/lib/snprintf.c
+/*
+ * NOTE: If you change this file, please merge it into rsync, samba, etc.
+ */
+
/*
* Copyright Patrick Powell 1995
* This code is based on code written by Patrick Powell (papowell@astart.com)
* got rid of fcvt code (twas buggy and made testing harder)
* added C99 semantics
*
+ * date: 2002/12/19 19:56:31; author: herb; state: Exp; lines: +2 -0
+ * actually print args for %g and %e
+ *
+ * date: 2002/06/03 13:37:52; author: jmcd; state: Exp; lines: +8 -0
+ * Since includes.h isn't included here, VA_COPY has to be defined here. I don't
+ * see any include file that is guaranteed to be here, so I'm defining it
+ * locally. Fixes AIX and Solaris builds.
+ *
+ * date: 2002/06/03 03:07:24; author: tridge; state: Exp; lines: +5 -13
+ * put the ifdef for HAVE_VA_COPY in one place rather than in lots of
+ * functions
+ *
+ * date: 2002/05/17 14:51:22; author: jmcd; state: Exp; lines: +21 -4
+ * Fix usage of va_list passed as an arg. Use __va_copy before using it
+ * when it exists.
+ *
+ * date: 2002/04/16 22:38:04; author: idra; state: Exp; lines: +20 -14
+ * Fix incorrect zpadlen handling in fmtfp.
+ * Thanks to Ollie Oldham <ollie.oldham@metro-optix.com> for spotting it.
+ * few mods to make it easier to compile the tests.
+ * addedd the "Ollie" test to the floating point ones.
+ *
+ * Martin Pool (mbp@samba.org) April 2003
+ * Remove NO_CONFIG_H so that the test case can be built within a source
+ * tree with less trouble.
+ * Remove unnecessary SAFE_FREE() definition.
+ *
+ * Martin Pool (mbp@samba.org) May 2003
+ * Put in a prototype for dummy_snprintf() to quiet compiler warnings.
+ *
+ * Move #endif to make sure VA_COPY, LDOUBLE, etc are defined even
+ * if the C library has some snprintf functions already.
**************************************************************/
-#ifndef NO_CONFIG_H /* for some tests */
+#ifndef NO_CONFIG_H
#include "config.h"
#else
#define NULL 0
-#endif
+#endif
#ifdef TEST_SNPRINTF /* need math library headers for testing */
-#include <math.h>
-#endif
+
+/* In test mode, we pretend that this system doesn't have any snprintf
+ * functions, regardless of what config.h says. */
+# undef HAVE_SNPRINTF
+# undef HAVE_VSNPRINTF
+# undef HAVE_C99_VSNPRINTF
+# undef HAVE_ASPRINTF
+# undef HAVE_VASPRINTF
+# include <math.h>
+#endif /* TEST_SNPRINTF */
#ifdef HAVE_STRING_H
#include <string.h>
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
-#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
-#endif
-#ifdef HAVE_STDARG_H
#include <stdarg.h>
-#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
/* only include stdio.h if we are not re-defining snprintf or vsnprintf */
#include <stdio.h>
/* make the compiler happy with an empty file */
+ void dummy_snprintf(void);
void dummy_snprintf(void) {}
-#else
+#endif /* HAVE_SNPRINTF, etc */
#ifdef HAVE_LONG_DOUBLE
#define LDOUBLE long double
#define LLONG long
#endif
-/* free memory if the pointer is valid and zero the pointer */
-#ifndef SAFE_FREE
-#define SAFE_FREE(x) do { if ((x) != NULL) {free((x)); (x)=NULL;} } while(0)
-#endif
-
#ifndef VA_COPY
#ifdef HAVE_VA_COPY
+#define VA_COPY(dest, src) va_copy(dest, src)
+#else
+#ifdef HAVE___VA_COPY
#define VA_COPY(dest, src) __va_copy(dest, src)
#else
#define VA_COPY(dest, src) (dest) = (src)
#endif
#endif
-static size_t dopr(char *buffer, size_t maxlen, const char *format,
- va_list args_in);
-static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
- char *value, int flags, int min, int max);
-static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
- long value, int base, int min, int max, int flags);
-static void fmtfp(char *buffer, size_t *currlen, size_t maxlen,
- LDOUBLE fvalue, int min, int max, int flags);
-static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c);
-
/*
* dopr(): poor man's version of doprintf
*/
#define MAX(p,q) (((p) >= (q)) ? (p) : (q))
#endif
+/* yes this really must be a ||. Don't muck with this (tridge) */
+#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
+
+static size_t dopr(char *buffer, size_t maxlen, const char *format,
+ va_list args_in);
+static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
+ char *value, int flags, int min, int max);
+static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
+ long value, int base, int min, int max, int flags);
+static void fmtfp(char *buffer, size_t *currlen, size_t maxlen,
+ LDOUBLE fvalue, int min, int max, int flags);
+static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c);
+
static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args_in)
{
char ch;
@@ -345,6 +387,7 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args
fvalue = va_arg (args, LDOUBLE);
else
fvalue = va_arg (args, double);
+ fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
break;
case 'G':
flags |= DP_F_UP;
@@ -353,6 +396,7 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args
fvalue = va_arg (args, LDOUBLE);
else
fvalue = va_arg (args, double);
+ fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
break;
case 'c':
dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
int padlen = 0; /* amount to pad */
int zpadlen = 0;
int caps = 0;
- int index;
+ int idx;
double intpart;
double fracpart;
double temp;
do {
temp = intpart*0.1;
my_modf(temp, &intpart);
- index = (int) ((temp -intpart +0.05)* 10.0);
- /* index = (int) (((double)(temp*0.1) -intpart +0.05) *10.0); */
- /* printf ("%llf, %f, %x\n", temp, intpart, index); */
+ idx = (int) ((temp -intpart +0.05)* 10.0);
+ /* idx = (int) (((double)(temp*0.1) -intpart +0.05) *10.0); */
+ /* printf ("%llf, %f, %x\n", temp, intpart, idx); */
iconvert[iplace++] =
- (caps? "0123456789ABCDEF":"0123456789abcdef")[index];
+ (caps? "0123456789ABCDEF":"0123456789abcdef")[idx];
} while (intpart && (iplace < 311));
if (iplace == 311) iplace--;
iconvert[iplace] = 0;
do {
temp = fracpart*0.1;
my_modf(temp, &fracpart);
- index = (int) ((temp -fracpart +0.05)* 10.0);
- /* index = (int) ((((temp/10) -fracpart) +0.05) *10); */
- /* printf ("%lf, %lf, %ld\n", temp, fracpart, index); */
+ idx = (int) ((temp -fracpart +0.05)* 10.0);
+ /* idx = (int) ((((temp/10) -fracpart) +0.05) *10); */
+ /* printf ("%lf, %lf, %ld\n", temp, fracpart, idx ); */
fconvert[fplace++] =
- (caps? "0123456789ABCDEF":"0123456789abcdef")[index];
+ (caps? "0123456789ABCDEF":"0123456789abcdef")[idx];
} while(fracpart && (fplace < 311));
if (fplace == 311) fplace--;
}
(*currlen)++;
}
-/* yes this really must be a ||. Don't muck with this (tridge) */
-#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
- int vsnprintf (char *str, size_t count, const char *fmt, va_list args)
+ int smb_vsnprintf (char *str, size_t count, const char *fmt, va_list args)
{
return dopr(str, count, fmt, args);
}
+#define vsnprintf smb_vsnprintf
#endif
-/* yes this really must be a ||. Don't muck wiith this (tridge)
+/* yes this really must be a ||. Don't muck with this (tridge)
*
* The logic for these two is that we need our own definition if the
* OS *either* has no definition of *sprintf, or if it does have one
- * that doesn't work properly according to the autoconf test. Perhaps
- * these should really be smb_snprintf to avoid conflicts with buggy
- * linkers? -- mbp
+ * that doesn't work properly according to the autoconf test.
*/
-#if !defined(HAVE_SNPRINTF) /* || !defined(HAVE_C99_SNPRINTF) */
- int snprintf(char *str,size_t count,const char *fmt,...)
+#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
+int smb_snprintf(char *str,size_t count,const char *fmt,...)
{
size_t ret;
va_list ap;
va_end(ap);
return ret;
}
+#define snprintf smb_snprintf
#endif
#endif
"-16.16f",
NULL
};
- double fp_nums[] = { 6442452944.1234, -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996,
- 0.9996, 1.996, 4.136, 5.030201, 0};
+ double fp_nums[] = { 6442452944.1234, -1.5, 134.21, 91340.2, 341.1234, 203.9, 0.96, 0.996,
+ 0.9996, 1.996, 4.136, 5.030201, 0.00205,
+ /* END LIST */ 0};
char *int_fmt[] = {
"%-1.5d",
"%1.5d",
return 0;
}
-#endif /* SNPRINTF_TEST */
+#endif /* TEST_SNPRINTF */
diff --git a/lib/strtod.c b/lib/strtod.c
index 10edb5cfe5a67c6c99a0d4b3aaa1a405072ba3e7..161f97a7b1894e074e6e7452a8332f63929ed9ea 100644 (file)
--- a/lib/strtod.c
+++ b/lib/strtod.c
-/* Copyright (C) 1991, 1992, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1997, 1999, 2003 Free Software Foundation, Inc.
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
#include <math.h>
-#if HAVE_FLOAT_H
-# include <float.h>
-#else
-# define DBL_MAX 1.7976931348623159e+308
-# define DBL_MIN 2.2250738585072010e-308
-#endif
-
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <string.h>
-#else
-# define NULL 0
-# ifndef HUGE_VAL
-# define HUGE_VAL HUGE
-# endif
-#endif
+#include <float.h>
+#include <stdlib.h>
+#include <string.h>
/* Convert NPTR to a double. If ENDPTR is not NULL, a pointer to the
character after the last one used in the number is put in *ENDPTR. */
diff --git a/lib/unlocked-io.h b/lib/unlocked-io.h
index a7240fb9177b5e7cd7aec76beea2e96781e0c892..36a7a4885ded71a708d6254d46713036cb5d9862 100644 (file)
--- a/lib/unlocked-io.h
+++ b/lib/unlocked-io.h
/* Prefer faster, non-thread-safe stdio functions if available.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public License as published
- by the Free Software Foundation; either version 2, or (at your option)
+ 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
- Library General Public License for more details.
+ 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 Library 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. */
+ 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. */
/* Written by Jim Meyering. */
# if USE_UNLOCKED_IO
-/* These are wrappers for functions/macros from GNU libc.
+/* These are wrappers for functions/macros from the GNU C library, and
+ from other C libraries supporting POSIX's optional thread-safe functions.
+
The standard I/O functions are thread-safe. These *_unlocked ones are
more efficient but not thread-safe. That they're not thread-safe is
- fine since all of the applications in this package are single threaded. */
+ fine since all of the applications in this package are single threaded.
+
+ Also, some code that is shared with the GNU C library may invoke
+ the *_unlocked functions directly. On hosts that lack those
+ functions, invoke the non-thread-safe versions instead. */
+
+# include <stdio.h>
# if HAVE_DECL_CLEARERR_UNLOCKED
# undef clearerr
# define clearerr(x) clearerr_unlocked (x)
+# else
+# define clearerr_unlocked(x) clearerr (x)
# endif
# if HAVE_DECL_FEOF_UNLOCKED
# undef feof
# define feof(x) feof_unlocked (x)
+# else
+# define feof_unlocked(x) feof (x)
# endif
# if HAVE_DECL_FERROR_UNLOCKED
# undef ferror
# define ferror(x) ferror_unlocked (x)
+# else
+# define ferror_unlocked(x) ferror (x)
# endif
# if HAVE_DECL_FFLUSH_UNLOCKED
# undef fflush
# define fflush(x) fflush_unlocked (x)
+# else
+# define fflush_unlocked(x) fflush (x)
# endif
# if HAVE_DECL_FGETS_UNLOCKED
# undef fgets
# define fgets(x,y,z) fgets_unlocked (x,y,z)
+# else
+# define fgets_unlocked(x,y,z) fgets (x,y,z)
# endif
# if HAVE_DECL_FPUTC_UNLOCKED
# undef fputc
# define fputc(x,y) fputc_unlocked (x,y)
+# else
+# define fputc_unlocked(x,y) fputc (x,y)
# endif
# if HAVE_DECL_FPUTS_UNLOCKED
# undef fputs
# define fputs(x,y) fputs_unlocked (x,y)
+# else
+# define fputs_unlocked(x,y) fputs (x,y)
# endif
# if HAVE_DECL_FREAD_UNLOCKED
# undef fread
# define fread(w,x,y,z) fread_unlocked (w,x,y,z)
+# else
+# define fread_unlocked(w,x,y,z) fread (w,x,y,z)
# endif
# if HAVE_DECL_FWRITE_UNLOCKED
# undef fwrite
# define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z)
+# else
+# define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z)
# endif
# if HAVE_DECL_GETC_UNLOCKED
# undef getc
# define getc(x) getc_unlocked (x)
+# else
+# define getc_unlocked(x) getc (x)
# endif
# if HAVE_DECL_GETCHAR_UNLOCKED
# undef getchar
# define getchar() getchar_unlocked ()
+# else
+# define getchar_unlocked() getchar ()
# endif
# if HAVE_DECL_PUTC_UNLOCKED
# undef putc
# define putc(x,y) putc_unlocked (x,y)
+# else
+# define putc_unlocked(x,y) putc (x,y)
# endif
# if HAVE_DECL_PUTCHAR_UNLOCKED
# undef putchar
# define putchar(x) putchar_unlocked (x)
+# else
+# define putchar_unlocked(x) putchar (x)
# endif
+# undef flockfile
+# define flockfile(x) ((void) 0)
+
+# undef ftrylockfile
+# define ftrylockfile(x) 0
+
+# undef funlockfile
+# define funlockfile(x) ((void) 0)
+
# endif /* USE_UNLOCKED_IO */
#endif /* UNLOCKED_IO_H */
diff --git a/lib/unlocked-io.m4 b/lib/unlocked-io.m4
--- /dev/null
+++ b/lib/unlocked-io.m4
@@ -0,0 +1,22 @@
+#serial 8 -*- autoconf -*-
+
+dnl From Jim Meyering.
+dnl
+dnl See if the glibc *_unlocked I/O macros or functions are available.
+dnl Use only those *_unlocked macros or functions that are declared
+dnl (because some of them were declared in Solaris 2.5.1 but were removed
+dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
+dnl on Solaris 2.6).
+
+AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
+[
+ dnl Persuade glibc and Solaris <stdio.h> to declare
+ dnl fgets_unlocked(), fputs_unlocked() etc.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_DECLS_ONCE(
+ [clearerr_unlocked feof_unlocked ferror_unlocked
+ fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
+ fread_unlocked fwrite_unlocked getc_unlocked
+ getchar_unlocked putc_unlocked putchar_unlocked])
+])
diff --git a/lib/xalloc.h b/lib/xalloc.h
index 098a6c2e0730aaccda487400d1d51893257452f2..4b6585811bbc392fd2369b49da76d887631b691f 100644 (file)
--- a/lib/xalloc.h
+++ b/lib/xalloc.h
/* xalloc.h -- malloc with out-of-memory checking
- Copyright (C) 1990-1998, 1999, 2000 Free Software Foundation, Inc.
+
+ Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2003 Free Software Foundation, Inc.
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
#ifndef XALLOC_H_
# define XALLOC_H_
-# ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
+# include <stddef.h>
# ifndef __attribute__
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
# endif
-/* Exit value when the requested amount of memory is not available.
- It is initialized to EXIT_FAILURE, but the caller may set it to
- some other value. */
-extern int xalloc_exit_failure;
-
/* If this pointer is non-zero, run the specified function upon each
allocation failure. It is initialized to zero. */
-extern void (*xalloc_fail_func) PARAMS ((void));
+extern void (*xalloc_fail_func) (void);
/* If XALLOC_FAIL_FUNC is undefined or a function that returns, this
message is output. It is translated via gettext.
extern char const xalloc_msg_memory_exhausted[];
/* This function is always triggered when memory is exhausted. It is
- in charge of honoring the three previous items. This is the
+ in charge of honoring the two previous items. It exits with status
+ exit_failure (defined in exitfail.h). This is the
function to call when one wants the program to die because of a
memory allocation failure. */
-extern void xalloc_die PARAMS ((void)) ATTRIBUTE_NORETURN;
-
-void *xmalloc PARAMS ((size_t n));
-void *xcalloc PARAMS ((size_t n, size_t s));
-void *xrealloc PARAMS ((void *p, size_t n));
-char *xstrdup PARAMS ((const char *str));
-
-# define XMALLOC(Type, N_items) ((Type *) xmalloc (sizeof (Type) * (N_items)))
-# define XCALLOC(Type, N_items) ((Type *) xcalloc (sizeof (Type), (N_items)))
-# define XREALLOC(Ptr, Type, N_items) \
- ((Type *) xrealloc ((void *) (Ptr), sizeof (Type) * (N_items)))
-
-/* Declare and alloc memory for VAR of type TYPE. */
-# define NEW(Type, Var) Type *(Var) = XMALLOC (Type, 1)
-
-/* Free VAR only if non NULL. */
-# define XFREE(Var) \
- do { \
- if (Var) \
- free (Var); \
- } while (0)
-
-/* Return a pointer to a malloc'ed copy of the array SRC of NUM elements. */
-# define CCLONE(Src, Num) \
- (memcpy (xmalloc (sizeof (*Src) * (Num)), (Src), sizeof (*Src) * (Num)))
-
-/* Return a malloc'ed copy of SRC. */
-# define CLONE(Src) CCLONE (Src, 1)
-
+extern void xalloc_die (void) ATTRIBUTE_NORETURN;
+
+void *xmalloc (size_t s);
+void *xnmalloc (size_t n, size_t s);
+void *xzalloc (size_t s);
+void *xcalloc (size_t n, size_t s);
+void *xrealloc (void *p, size_t s);
+void *xnrealloc (void *p, size_t n, size_t s);
+void *x2realloc (void *p, size_t *pn);
+void *x2nrealloc (void *p, size_t *pn, size_t s);
+void *xclone (void const *p, size_t s);
+char *xstrdup (const char *str);
+
+/* Return 1 if an array of N objects, each of size S, cannot exist due
+ to size arithmetic overflow. S must be positive and N must be
+ nonnegative. This is a macro, not an inline function, so that it
+ works correctly even when SIZE_MAX < N.
+
+ By gnulib convention, SIZE_MAX represents overflow in size
+ calculations, so the conservative dividend to use here is
+ SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value.
+ However, malloc (SIZE_MAX) fails on all known hosts where
+ sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for
+ exactly-SIZE_MAX allocations on such hosts; this avoids a test and
+ branch when S is known to be 1. */
+# define xalloc_oversized(n, s) \
+ ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n))
+
+/* These macros are deprecated; they will go away soon, and are retained
+ temporarily only to ease conversion to the functions described above. */
+# define CCLONE(p, n) xclone (p, (n) * sizeof *(p))
+# define CLONE(p) xclone (p, sizeof *(p))
+# define NEW(type, var) type *var = xmalloc (sizeof (type))
+# define XCALLOC(type, n) xcalloc (n, sizeof (type))
+# define XMALLOC(type, n) xnmalloc (n, sizeof (type))
+# define XREALLOC(p, type, n) xnrealloc (p, n, sizeof (type))
+# define XFREE(p) free (p)
#endif /* !XALLOC_H_ */
diff --git a/lib/xalloc.m4 b/lib/xalloc.m4
--- /dev/null
+++ b/lib/xalloc.m4
@@ -0,0 +1,32 @@
+# xalloc.m4 serial 8
+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+AC_DEFUN([gl_XALLOC],
+[
+ gl_PREREQ_XALLOC
+ gl_PREREQ_XMALLOC
+ gl_PREREQ_XSTRDUP
+])
+
+# Prerequisites of lib/xalloc.h.
+AC_DEFUN([gl_PREREQ_XALLOC], [
+ :
+])
+
+# Prerequisites of lib/xmalloc.c.
+AC_DEFUN([gl_PREREQ_XMALLOC], [
+ AC_REQUIRE([AC_C_INLINE])
+ AC_REQUIRE([jm_FUNC_MALLOC])
+ AC_REQUIRE([jm_FUNC_REALLOC])
+ :
+])
+
+# Prerequisites of lib/xstrdup.c.
+AC_DEFUN([gl_PREREQ_XSTRDUP], [
+ :
+])
diff --git a/lib/xmalloc.c b/lib/xmalloc.c
index 3affee7a9a8b1cfade70188f1ce32a678659b2cf..181006b43dbc69e40a1d6d5f167093074fe751b9 100644 (file)
--- a/lib/xmalloc.c
+++ b/lib/xmalloc.c
/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-1999, 2000, 2002 Free Software Foundation, Inc.
+
+ Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2003,
+ 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
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
# include <config.h>
#endif
-#include <sys/types.h>
+#include "xalloc.h"
-#if STDC_HEADERS
-# include <stdlib.h>
-#else
-void *calloc ();
-void *malloc ();
-void *realloc ();
-void free ();
-#endif
+#include <stdlib.h>
+#include <string.h>
#include "gettext.h"
#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
#include "error.h"
-#include "xalloc.h"
+#include "exitfail.h"
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
#endif
-/* The following tests require AC_PREREQ(2.54). */
-
#ifndef HAVE_MALLOC
"you must run the autoconf test for a GNU libc compatible malloc"
#endif
"you must run the autoconf test for a GNU libc compatible realloc"
#endif
-/* Exit value when the requested amount of memory is not available.
- The caller may set it to some other value. */
-int xalloc_exit_failure = EXIT_FAILURE;
-
/* If non NULL, call this function when memory is exhausted. */
-void (*xalloc_fail_func) PARAMS ((void)) = 0;
+void (*xalloc_fail_func) (void) = 0;
/* If XALLOC_FAIL_FUNC is NULL, or does return, display this message
before exiting when memory is exhausted. Goes through gettext. */
{
if (xalloc_fail_func)
(*xalloc_fail_func) ();
- error (xalloc_exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted));
+ error (exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted));
/* The `noreturn' cannot be given to error, since it may return if
its first argument is 0. To help compilers understand the
- xalloc_die does terminate, call exit. */
- exit (EXIT_FAILURE);
+ xalloc_die does terminate, call abort. */
+ abort ();
+}
+
+/* Allocate an array of N objects, each with S bytes of memory,
+ dynamically, with error checking. S must be nonzero. */
+
+static inline void *
+xnmalloc_inline (size_t n, size_t s)
+{
+ void *p;
+ if (xalloc_oversized (n, s) || ! (p = malloc (n * s)))
+ xalloc_die ();
+ return p;
+}
+
+void *
+xnmalloc (size_t n, size_t s)
+{
+ return xnmalloc_inline (n, s);
}
/* Allocate N bytes of memory dynamically, with error checking. */
void *
xmalloc (size_t n)
{
- void *p;
+ return xnmalloc_inline (n, 1);
+}
+
+/* Change the size of an allocated block of memory P to an array of N
+ objects each of S bytes, with error checking. S must be nonzero. */
- p = malloc (n);
- if (p == 0)
+static inline void *
+xnrealloc_inline (void *p, size_t n, size_t s)
+{
+ if (xalloc_oversized (n, s) || ! (p = realloc (p, n * s)))
xalloc_die ();
return p;
}
+void *
+xnrealloc (void *p, size_t n, size_t s)
+{
+ return xnrealloc_inline (p, n, s);
+}
+
/* Change the size of an allocated block of memory P to N bytes,
with error checking. */
void *
xrealloc (void *p, size_t n)
{
- p = realloc (p, n);
- if (p == 0)
- xalloc_die ();
- return p;
+ return xnrealloc_inline (p, n, 1);
}
-/* Allocate memory for N elements of S bytes, with error checking. */
+
+/* If P is null, allocate a block of at least *PN such objects;
+ otherwise, reallocate P so that it contains more than *PN objects
+ each of S bytes. *PN must be nonzero unless P is null, and S must
+ be nonzero. Set *PN to the new number of objects, and return the
+ pointer to the new block. *PN is never set to zero, and the
+ returned pointer is never null.
+
+ Repeated reallocations are guaranteed to make progress, either by
+ allocating an initial block with a nonzero size, or by allocating a
+ larger block.
+
+ In the following implementation, nonzero sizes are doubled so that
+ repeated reallocations have O(N log N) overall cost rather than
+ O(N**2) cost, but the specification for this function does not
+ guarantee that sizes are doubled.
+
+ Here is an example of use:
+
+ int *p = NULL;
+ size_t used = 0;
+ size_t allocated = 0;
+
+ void
+ append_int (int value)
+ {
+ if (used == allocated)
+ p = x2nrealloc (p, &allocated, sizeof *p);
+ p[used++] = value;
+ }
+
+ This causes x2nrealloc to allocate a block of some nonzero size the
+ first time it is called.
+
+ To have finer-grained control over the initial size, set *PN to a
+ nonzero value before calling this function with P == NULL. For
+ example:
+
+ int *p = NULL;
+ size_t used = 0;
+ size_t allocated = 0;
+ size_t allocated1 = 1000;
+
+ void
+ append_int (int value)
+ {
+ if (used == allocated)
+ {
+ p = x2nrealloc (p, &allocated1, sizeof *p);
+ allocated = allocated1;
+ }
+ p[used++] = value;
+ }
+
+ */
+
+static inline void *
+x2nrealloc_inline (void *p, size_t *pn, size_t s)
+{
+ size_t n = *pn;
+
+ if (! p)
+ {
+ if (! n)
+ {
+ /* The approximate size to use for initial small allocation
+ requests, when the invoking code specifies an old size of
+ zero. 64 bytes is the largest "small" request for the
+ GNU C library malloc. */
+ enum { DEFAULT_MXFAST = 64 };
+
+ n = DEFAULT_MXFAST / s;
+ n += !n;
+ }
+ }
+ else
+ {
+ if (SIZE_MAX / 2 / s < n)
+ xalloc_die ();
+ n *= 2;
+ }
+
+ *pn = n;
+ return xrealloc (p, n * s);
+}
+
+void *
+x2nrealloc (void *p, size_t *pn, size_t s)
+{
+ return x2nrealloc_inline (p, pn, s);
+}
+
+/* If P is null, allocate a block of at least *PN bytes; otherwise,
+ reallocate P so that it contains more than *PN bytes. *PN must be
+ nonzero unless P is null. Set *PN to the new block's size, and
+ return the pointer to the new block. *PN is never set to zero, and
+ the returned pointer is never null. */
+
+void *
+x2realloc (void *p, size_t *pn)
+{
+ return x2nrealloc_inline (p, pn, 1);
+}
+
+/* Allocate S bytes of zeroed memory dynamically, with error checking.
+ There's no need for xnzalloc (N, S), since it would be equivalent
+ to xcalloc (N, S). */
+
+void *
+xzalloc (size_t s)
+{
+ return memset (xmalloc (s), 0, s);
+}
+
+/* Allocate zeroed memory for N elements of S bytes, with error
+ checking. S must be nonzero. */
void *
xcalloc (size_t n, size_t s)
{
void *p;
-
- p = calloc (n, s);
- if (p == 0)
+ /* Test for overflow, since some calloc implementations don't have
+ proper overflow checks. */
+ if (xalloc_oversized (n, s) || ! (p = calloc (n, s)))
xalloc_die ();
return p;
}
+
+/* Clone an object P of size S, with error checking. There's no need
+ for xnclone (P, N, S), since xclone (P, N * S) works without any
+ need for an arithmetic overflow check. */
+
+void *
+xclone (void const *p, size_t s)
+{
+ return memcpy (xmalloc (s), p, s);
+}
diff --git a/lib/xstrdup.c b/lib/xstrdup.c
--- /dev/null
+++ b/lib/xstrdup.c
@@ -0,0 +1,33 @@
+/* xstrdup.c -- copy a string with out of memory checking
+ Copyright (C) 1990, 1996, 1998, 2001, 2003 Free Software Foundation, Inc.
+
+ 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. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/* Specification. */
+#include "xalloc.h"
+
+#include <string.h>
+
+/* Return a newly allocated copy of STRING. */
+
+char *
+xstrdup (const char *string)
+{
+ return xclone (string, strlen (string) + 1);
+}
diff --git a/plugins/check_disk.c b/plugins/check_disk.c
index 3beb568986aa1f71327a0a97994a27bfad9bf156..7841c14b755746404d7e027eefd2c0573405f5bb 100644 (file)
--- a/plugins/check_disk.c
+++ b/plugins/check_disk.c
*****************************************************************************/
const char *progname = "check_disk";
+const char *program_name = "check_disk"; // Required for coreutils libs
const char *revision = "$Revision$";
const char *copyright = "1999-2003";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
diff --git a/po/de.po b/po/de.po
index 8b89246ab0de1b5b02b0fa48d5b797e6422c6283..fe2e671397b050b5d6d3461b52fbe7ed920fa0f7 100644 (file)
--- a/po/de.po
+++ b/po/de.po
msgid ""
msgstr ""
"Project-Id-Version: nagios-plugins 1.3.99\n"
-"POT-Creation-Date: 2003-10-29 21:39-0500\n"
+"POT-Creation-Date: 2004-11-12 00:44+0000\n"
"PO-Revision-Date: 2003-07-20 22:24-0400\n"
"Last-Translator: Michael Wirtgen <Michael.Wirtgen@miwi-dv.com>\n"
"Language-Team: de <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: plugins/check_by_ssh.c:69 plugins/check_dig.c:68 plugins/check_disk.c:164
-#: plugins/check_fping.c:69 plugins/check_nagios.c:64 plugins/check_nt.c:103
-#: plugins/check_nwstat.c:125 plugins/check_radius.c:111
-#: plugins/check_ssh.c:56 plugins/check_tcp.c:211 plugins/check_users.c:49
+#: plugins/check_by_ssh.c:70 plugins/check_dig.c:70 plugins/check_disk.c:165
+#: plugins/check_fping.c:69 plugins/check_nagios.c:67 plugins/check_nt.c:112
+#: plugins/check_nwstat.c:126 plugins/check_radius.c:112
+#: plugins/check_ssh.c:56 plugins/check_tcp.c:212 plugins/check_users.c:52
#: plugins/negate.c:83
msgid "Could not parse arguments\n"
msgstr ""
-#: plugins/check_by_ssh.c:74 plugins/check_dns.c:91 plugins/check_nagios.c:68
-#: plugins/check_pgsql.c:140 plugins/check_ping.c:84 plugins/negate.c:87
+#: plugins/check_by_ssh.c:75 plugins/check_dns.c:69 plugins/check_nagios.c:71
+#: plugins/check_pgsql.c:140 plugins/check_ping.c:86 plugins/negate.c:87
msgid "Cannot catch SIGALRM"
msgstr ""
-#: plugins/check_by_ssh.c:88
+#: plugins/check_by_ssh.c:89
#, c-format
msgid "Unable to open pipe: %s"
msgstr ""
-#: plugins/check_by_ssh.c:96 plugins/check_dig.c:89 plugins/check_dns.c:117
+#: plugins/check_by_ssh.c:97 plugins/check_dig.c:97 plugins/check_dns.c:96
#: plugins/check_fping.c:89 plugins/check_hpjd.c:118 plugins/check_load.c:115
-#: plugins/check_nagios.c:101 plugins/check_procs.c:129
-#: plugins/check_snmp.c:179 plugins/check_swap.c:137 plugins/check_users.c:60
+#: plugins/check_nagios.c:107 plugins/check_procs.c:133
+#: plugins/check_snmp.c:179 plugins/check_swap.c:157 plugins/check_users.c:63
#: plugins/negate.c:97 plugins/urlize.c:93
#, c-format
msgid "Could not open stderr for %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:123
+#: plugins/check_by_ssh.c:129
#, c-format
msgid "SSH WARNING: could not open %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:142
+#: plugins/check_by_ssh.c:148
#, c-format
msgid "[%d] PROCESS_SERVICE_CHECK_RESULT;%s;%s;%d;%s\n"
msgstr ""
-#: plugins/check_by_ssh.c:228
+#: plugins/check_by_ssh.c:235
msgid "timeout interval must be an integer"
msgstr ""
-#: plugins/check_by_ssh.c:234
+#: plugins/check_by_ssh.c:241
msgid "invalid host name"
msgstr ""
-#: plugins/check_by_ssh.c:239
+#: plugins/check_by_ssh.c:246
msgid "port must be an integer"
msgstr ""
-#: plugins/check_by_ssh.c:284
+#: plugins/check_by_ssh.c:288
+msgid "skip lines must be an integer"
+msgstr ""
+
+#: plugins/check_by_ssh.c:298
#, c-format
msgid "%s: You must provide a host name\n"
msgstr ""
-#: plugins/check_by_ssh.c:286
+#: plugins/check_by_ssh.c:300
#, c-format
msgid "%s: Invalid host name %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:302
+#: plugins/check_by_ssh.c:316
msgid "No remotecmd\n"
msgstr ""
-#: plugins/check_by_ssh.c:320
+#: plugins/check_by_ssh.c:334
#, c-format
msgid ""
"%s: In passive mode, you must provide a service name for each command.\n"
msgstr ""
-#: plugins/check_by_ssh.c:323
+#: plugins/check_by_ssh.c:337
#, c-format
msgid ""
"%s: In passive mode, you must provide the host short name from the nagios "
"configs.\n"
msgstr ""
-#: plugins/check_by_ssh.c:338
+#: plugins/check_by_ssh.c:352
msgid ""
"Copyright (c) 1999 Karl DeBisschop <kdebisschop@users.sourceforge.net>\n"
msgstr ""
-#: plugins/check_by_ssh.c:341
+#: plugins/check_by_ssh.c:355
msgid ""
"This plugin uses SSH to execute commands on a remote host\n"
"\n"
msgstr ""
-#: plugins/check_by_ssh.c:351
+#: plugins/check_by_ssh.c:365
msgid ""
" -1, --proto1\n"
" tell ssh to use Protocol 1\n"
" -2, --proto2\n"
" tell ssh to use Protocol 2\n"
+" -S, --skiplines=n\n"
+" Ignore first n lines on STDERR (to suppress a logon banner)\n"
" -f\n"
" tells ssh to fork rather than create a tty\n"
msgstr ""
-#: plugins/check_by_ssh.c:359
+#: plugins/check_by_ssh.c:375
msgid ""
" -C, --command='COMMAND STRING'\n"
" command to execute on the remote machine\n"
" short name of host in nagios configuration [optional]\n"
msgstr ""
-#: plugins/check_by_ssh.c:377
+#: plugins/check_by_ssh.c:393
msgid ""
"\n"
"The most common mode of use is to refer to a local identity file with\n"
"execute additional commands as proxy\n"
msgstr ""
-#: plugins/check_by_ssh.c:386
+#: plugins/check_by_ssh.c:402
msgid ""
"\n"
"To use passive mode, provide multiple '-C' options, and provide\n"
"options)\n"
msgstr ""
-#: plugins/check_by_ssh.c:401
+#: plugins/check_by_ssh.c:407
+msgid ""
+"\n"
+"$ check_by_ssh -H localhost -n lh -s c1:c2:c3 \\\n"
+" -C uptime -C uptime -C uptime -O /tmp/foo\n"
+"$ cat /tmp/foo\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c1;0; up 2 days...\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c2;0; up 2 days...\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c3;0; up 2 days...\n"
+msgstr ""
+
+#: plugins/check_by_ssh.c:425
#, c-format
msgid ""
"\n"
" -C <command> [-n name] [-s servicelist] [-O outputfile] [-p port]\n"
msgstr ""
-#: plugins/check_dig.c:65
+#: plugins/check_dig.c:67
msgid "Cannot catch SIGALRM\n"
msgstr ""
-#: plugins/check_dig.c:83 plugins/check_dns.c:111 plugins/check_hpjd.c:112
-#: plugins/check_nagios.c:95 plugins/check_procs.c:123
-#: plugins/check_snmp.c:173 plugins/check_swap.c:131 plugins/check_users.c:54
+#: plugins/check_dig.c:91 plugins/check_dns.c:90 plugins/check_hpjd.c:112
+#: plugins/check_nagios.c:101 plugins/check_procs.c:127
+#: plugins/check_snmp.c:173 plugins/check_swap.c:151 plugins/check_users.c:57
#: plugins/negate.c:93 plugins/urlize.c:87
#, c-format
msgid "Could not open pipe: %s\n"
msgstr ""
-#: plugins/check_dig.c:108
+#: plugins/check_dig.c:128
msgid "Server not found in ANSWER SECTION"
msgstr ""
-#: plugins/check_dig.c:118
+#: plugins/check_dig.c:137
msgid "No ANSWER SECTION found"
msgstr ""
-#: plugins/check_dig.c:135
+#: plugins/check_dig.c:154
msgid "dig returned error status"
msgstr ""
-#: plugins/check_dig.c:142 plugins/check_dns.c:221 plugins/check_dns.c:224
-#: plugins/check_dns.c:227
+#: plugins/check_dig.c:161 plugins/check_dns.c:205 plugins/check_dns.c:208
+#: plugins/check_dns.c:211
msgid " Probably a non-existent host/domain"
msgstr ""
-#: plugins/check_dig.c:150
+#: plugins/check_dig.c:169
#, c-format
msgid "%.3f seconds response time (%s)"
msgstr ""
-#: plugins/check_dig.c:198 plugins/check_pgsql.c:210 plugins/check_ping.c:199
-#: plugins/check_time.c:206 plugins/negate.c:172 plugins/urlize.c:72
+#: plugins/check_dig.c:219 plugins/check_pgsql.c:209 plugins/check_ping.c:201
+#: plugins/check_time.c:220 plugins/negate.c:172 plugins/urlize.c:72
msgid "Unknown argument"
msgstr ""
-#: plugins/check_dig.c:210 plugins/check_dig.c:265 plugins/check_hpjd.c:347
-#: plugins/check_real.c:368 plugins/check_smtp.c:314
+#: plugins/check_dig.c:231 plugins/check_dig.c:288 plugins/check_hpjd.c:347
+#: plugins/check_real.c:368 plugins/check_smtp.c:386
msgid "Invalid host name"
msgstr ""
-#: plugins/check_dig.c:218
+#: plugins/check_dig.c:239
msgid "Server port must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:228
-msgid "Input causes overflow in warning interval"
-msgstr ""
-
-#: plugins/check_dig.c:231
+#: plugins/check_dig.c:250
msgid "Warning interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:238
-msgid "Input causes overflow in critical interval"
-msgstr ""
-
-#: plugins/check_dig.c:241
+#: plugins/check_dig.c:258
msgid "Critical interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:249
+#: plugins/check_dig.c:266
msgid "Time interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:301 plugins/urlize.c:132
+#: plugins/check_dig.c:324 plugins/urlize.c:132
msgid ""
"Copyright (c) 2000 Karl DeBisschop <kdebisschop@users.sourceforge.net>\n"
msgstr ""
-#: plugins/check_dig.c:304
+#: plugins/check_dig.c:327
msgid ""
"Test the DNS service on the specified host using dig\n"
"\n"
msgstr ""
-#: plugins/check_dig.c:312
+#: plugins/check_dig.c:335
msgid ""
" -l, --lookup=STRING\n"
" machine name to lookup\n"
msgstr ""
-#: plugins/check_dig.c:331
+#: plugins/check_dig.c:339
+msgid ""
+" -T, --record_type=STRING\n"
+" record type to lookup (default: A)\n"
+msgstr ""
+
+#: plugins/check_dig.c:343
+msgid ""
+" -a, --expected_address=STRING\n"
+" an address expected to be in the asnwer section.\n"
+" if not set, uses whatever was in -l\n"
+msgstr ""
+
+#: plugins/check_dig.c:363
#, c-format
msgid ""
-"Usage: %s -H host -l lookup [-p <server port>] [-w <warning interval>]\n"
-" [-c <critical interval>] [-t <timeout>] [-v]\n"
+"Usage: %s -H host -l lookup [-p <server port>] [-T <query type>]\n"
+" [-w <warning interval>] [-c <critical interval>] [-t <timeout>]\n"
+" [-a <expected answer address>] [-v]\n"
msgstr ""
-#: plugins/check_disk.c:212
+#: plugins/check_disk.c:213
#, c-format
msgid ""
"%s\n"
"lu warn%%:%.0f%% crit%%:%.0f%%"
msgstr ""
-#: plugins/check_disk.c:230
+#: plugins/check_disk.c:231
#, c-format
msgid "%s [%s not found]"
msgstr ""
-#: plugins/check_disk.c:306
+#: plugins/check_disk.c:307
msgid "Timeout Interval must be an integer!\n"
msgstr ""
-#: plugins/check_disk.c:323 plugins/check_swap.c:292
+#: plugins/check_disk.c:324 plugins/check_swap.c:391
msgid "Warning threshold must be integer or percentage!\n"
msgstr ""
-#: plugins/check_disk.c:340 plugins/check_swap.c:309
+#: plugins/check_disk.c:341 plugins/check_swap.c:408
msgid "Critical threshold must be integer or percentage!\n"
msgstr ""
-#: plugins/check_disk.c:361
+#: plugins/check_disk.c:362
#, c-format
msgid "unit type %s not known\n"
msgstr ""
-#: plugins/check_disk.c:364
+#: plugins/check_disk.c:365
#, c-format
msgid "failed allocating storage for '%s'\n"
msgstr ""
-#: plugins/check_disk.c:431
+#: plugins/check_disk.c:440
msgid "check_disk: unrecognized option\n"
msgstr ""
-#: plugins/check_disk.c:488
+#: plugins/check_disk.c:497
msgid "INPUT ERROR: No thresholds specified"
msgstr ""
-#: plugins/check_disk.c:494
+#: plugins/check_disk.c:503
#, c-format
msgid ""
"INPUT ERROR: C_DFP (%f) should be less than W_DFP (%.1f) and both should be "
"between zero and 100 percent, inclusive"
msgstr ""
-#: plugins/check_disk.c:501
+#: plugins/check_disk.c:510
#, c-format
msgid ""
"INPUT ERROR: C_DF (%lu) should be less than W_DF (%lu) and both should be "
"greater than zero"
msgstr ""
-#: plugins/check_disk.c:566 plugins/check_dns.c:406 plugins/check_dummy.c:84
-#: plugins/check_hpjd.c:381 plugins/check_http.c:1103 plugins/check_mrtg.c:307
-#: plugins/check_mrtgtraf.c:325 plugins/check_nwstat.c:903
-#: plugins/check_overcr.c:423 plugins/check_tcp.c:596
+#: plugins/check_disk.c:575 plugins/check_dns.c:394 plugins/check_dummy.c:89
+#: plugins/check_hpjd.c:381 plugins/check_http.c:1113 plugins/check_mrtg.c:311
+#: plugins/check_mrtgtraf.c:323 plugins/check_nwstat.c:909
+#: plugins/check_overcr.c:423 plugins/check_tcp.c:600
msgid "Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>\n"
msgstr ""
-#: plugins/check_disk.c:569
+#: plugins/check_disk.c:578
msgid ""
"This plugin checks the amount of used disk space on a mounted file system\n"
"and generates an alert if free space is less than one of the threshold "
"values."
msgstr ""
-#: plugins/check_disk.c:577
+#: plugins/check_disk.c:586
#, c-format
msgid ""
" -w, --warning=INTEGER\n"
" Clear thresholds\n"
msgstr ""
-#: plugins/check_disk.c:589
+#: plugins/check_disk.c:598
msgid ""
" -u, --units=STRING\n"
" Choose bytes, kB, MB, GB, TB (default: MB)\n"
" Same as '--units MB'\n"
msgstr ""
-#: plugins/check_disk.c:597
+#: plugins/check_disk.c:606
msgid ""
" -l, --local\n"
" Only check local filesystems\n"
" Display only devices/mountpoints with errors\n"
msgstr ""
-#: plugins/check_disk.c:617
+#: plugins/check_disk.c:626
msgid ""
"Examples:\n"
" check_disk -w 10% -c 5% -p /tmp -p /var -C -w 100000 -c 50000 -p /\n"
" Checks /tmp and /var at 10%,5% and / at 100MB, 50MB\n"
msgstr ""
-#: plugins/check_disk.c:630
+#: plugins/check_disk.c:639
#, c-format
msgid ""
"Usage: %s -w limit -c limit [-p path | -x device] [-t timeout] [-m] [-e]\n"
" %s (-V|--version)\n"
msgstr ""
-#: plugins/check_dns.c:129 plugins/check_dns.c:158
+#: plugins/check_dns.c:108
msgid "Unknown error (plugin)"
msgstr ""
-#: plugins/check_dns.c:153
+#: plugins/check_dns.c:128
#, c-format
msgid "DNS CRITICAL - '%s' returned empty host name string\n"
msgstr ""
-#: plugins/check_dns.c:190
+#: plugins/check_dns.c:167
msgid "nslookup returned error status"
msgstr ""
-#: plugins/check_dns.c:197
+#: plugins/check_dns.c:174
#, c-format
msgid "DNS CRITICAL - '%s' output parsing exited with no address\n"
msgstr ""
-#: plugins/check_dns.c:203
+#: plugins/check_dns.c:180
#, c-format
msgid "expected %s but got %s"
msgstr ""
-#: plugins/check_dns.c:215
+#: plugins/check_dns.c:186
#, c-format
-msgid "DNS ok - %.3f seconds response time, address%s %s|%s\n"
+msgid "server %s is not authoritative for %s"
+msgstr ""
+
+#: plugins/check_dns.c:198
+msgid "DNS"
msgstr ""
-#: plugins/check_dns.c:220
+#: plugins/check_dns.c:198 plugins/check_dummy.c:58 plugins/check_http.c:678
+#: plugins/check_http.c:928 plugins/check_procs.c:263
+msgid "OK"
+msgstr ""
+
+#: plugins/check_dns.c:199
+#, c-format
+msgid "%.3f second response time, "
+msgid_plural "%.3f seconds response time, "
+msgstr[0] ""
+msgstr[1] ""
+
+#: plugins/check_dns.c:200
+#, c-format
+msgid "%s returns %s"
+msgstr ""
+
+#: plugins/check_dns.c:204
#, c-format
msgid "DNS WARNING - %s\n"
msgstr ""
-#: plugins/check_dns.c:223
+#: plugins/check_dns.c:207
#, c-format
msgid "DNS CRITICAL - %s\n"
msgstr ""
-#: plugins/check_dns.c:226
+#: plugins/check_dns.c:210
#, c-format
msgid "DNS problem - %s\n"
msgstr ""
-#: plugins/check_dns.c:244
+#: plugins/check_dns.c:228
#, c-format
msgid "No response from name server %s\n"
msgstr ""
-#: plugins/check_dns.c:248
+#: plugins/check_dns.c:232
#, c-format
msgid "Name server %s has no records\n"
msgstr ""
-#: plugins/check_dns.c:255
+#: plugins/check_dns.c:239
#, c-format
msgid "Connection to name server %s was refused\n"
msgstr ""
-#: plugins/check_dns.c:261
+#: plugins/check_dns.c:245
#, c-format
msgid "Domain %s was not found by the server\n"
msgstr ""
-#: plugins/check_dns.c:265
+#: plugins/check_dns.c:249
msgid "Network is unreachable\n"
msgstr ""
-#: plugins/check_dns.c:269
+#: plugins/check_dns.c:253
#, c-format
msgid "Server failure for %s\n"
msgstr ""
-#: plugins/check_dns.c:314 plugins/check_fping.c:243 plugins/check_game.c:210
-#: plugins/check_overcr.c:335 plugins/check_radius.c:213
-#: plugins/check_tcp.c:402 plugins/check_udp.c:147 plugins/check_users.c:134
+#: plugins/check_dns.c:299 plugins/check_fping.c:243 plugins/check_game.c:210
+#: plugins/check_overcr.c:335 plugins/check_radius.c:216
+#: plugins/check_tcp.c:406 plugins/check_udp.c:147 plugins/check_users.c:143
#, c-format
msgid ""
"%s: Unknown argument: %s\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:331 plugins/check_dns.c:343 plugins/check_dns.c:354
-#: plugins/check_dns.c:359 plugins/check_dns.c:369 plugins/check_dns.c:380
+#: plugins/check_dns.c:316 plugins/check_dns.c:328 plugins/check_dns.c:339
+#: plugins/check_dns.c:344 plugins/check_dns.c:357 plugins/check_dns.c:368
#: plugins/check_game.c:227 plugins/check_game.c:235
msgid "Input buffer overflow\n"
msgstr ""
-#: plugins/check_dns.c:338
+#: plugins/check_dns.c:323
msgid ""
"Invalid server name/address\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:349 plugins/check_fping.c:257
-#: plugins/check_radius.c:227
+#: plugins/check_dns.c:334 plugins/check_fping.c:257
+#: plugins/check_radius.c:230
msgid ""
"Invalid host name/address\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:376
+#: plugins/check_dns.c:364
#, c-format
msgid ""
"Invalid name/address: %s\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:413
+#: plugins/check_dns.c:401
msgid ""
"-H, --hostname=HOST\n"
" The name or address you want to query\n"
" Optional DNS server you want to use for the lookup\n"
"-a, --expected-address=IP-ADDRESS\n"
" Optional IP address you expect the DNS server to return\n"
+"-A, --expect-authority\n"
+" Optionally expect the DNS server to be authoritative for the lookup\n"
msgstr ""
-#: plugins/check_dns.c:423
+#: plugins/check_dns.c:413
msgid ""
"\n"
"This plugin uses the nslookup program to obtain the IP address\n"
"specified in /etc/resolv.conf will be used.\n"
msgstr ""
-#: plugins/check_dns.c:438
+#: plugins/check_dns.c:428
#, c-format
msgid ""
-"Usage: %s -H host [-s server] [-a expected-address] [-t timeout]\n"
+"Usage: %s -H host [-s server] [-a expected-address] [-A] [-t timeout]\n"
" %s --help\n"
" %s --version\n"
msgstr ""
msgid "Arguments to check_dummy must be an integer\n"
msgstr ""
-#: plugins/check_dummy.c:91
+#: plugins/check_dummy.c:61 plugins/check_http.c:680 plugins/check_procs.c:265
+msgid "WARNING"
+msgstr ""
+
+#: plugins/check_dummy.c:64 plugins/check_http.c:682 plugins/check_procs.c:270
+msgid "CRITICAL"
+msgstr ""
+
+#: plugins/check_dummy.c:67 plugins/check_http.c:676
+msgid "UNKNOWN"
+msgstr ""
+
+#: plugins/check_dummy.c:70
+#, c-format
+msgid "Status %d is not a supported error state\n"
+msgstr ""
+
+#: plugins/check_dummy.c:96
msgid ""
"\n"
"This plugin will simply return the state corresponding to the numeric value\n"
-"of the <state> argument.\n"
+"of the <state> argument with optional text.\n"
msgstr ""
-#: plugins/check_dummy.c:103
+#: plugins/check_dummy.c:108
#, c-format
-msgid "Usage: %s <integer state>\n"
+msgid "Usage: %s <integer state> [optional text]\n"
msgstr ""
#: plugins/check_fping.c:83
msgstr ""
#: plugins/check_hpjd.c:87 plugins/check_mrtg.c:61 plugins/check_mrtgtraf.c:67
-#: plugins/check_mysql.c:51 plugins/check_real.c:69 plugins/check_smtp.c:74
-#: plugins/check_swap.c:78 plugins/check_time.c:63
+#: plugins/check_mysql.c:51 plugins/check_real.c:69 plugins/check_smtp.c:93
+#: plugins/check_swap.c:93 plugins/check_time.c:64
msgid "Invalid command arguments supplied\n"
msgstr ""
msgstr ""
#: plugins/check_hpjd.c:324 plugins/check_mysql.c:132 plugins/check_real.c:306
-#: plugins/check_smtp.c:236
+#: plugins/check_smtp.c:294
msgid "Invalid host name\n"
msgstr ""
-#: plugins/check_hpjd.c:337 plugins/check_load.c:230 plugins/check_mrtg.c:228
-#: plugins/check_mrtgtraf.c:264 plugins/check_mysql.c:154
-#: plugins/check_real.c:358 plugins/check_smtp.c:304 plugins/check_swap.c:324
+#: plugins/check_hpjd.c:337 plugins/check_load.c:230 plugins/check_mrtg.c:232
+#: plugins/check_mrtgtraf.c:262 plugins/check_mysql.c:154
+#: plugins/check_real.c:358 plugins/check_smtp.c:376 plugins/check_swap.c:423
msgid "Invalid argument\n"
msgstr ""
msgid "Usage: %s -H host [-C community]\n"
msgstr ""
-#: plugins/check_http.c:141
+#: plugins/check_http.c:142
msgid "check_http: could not parse arguments\n"
msgstr ""
-#: plugins/check_http.c:162
+#: plugins/check_http.c:163
msgid "HTTP CRITICAL - Could not make SSL connection\n"
msgstr ""
-#: plugins/check_http.c:168 plugins/check_http.c:495
+#: plugins/check_http.c:169 plugins/check_http.c:501
msgid "ERROR: Cannot retrieve server certificate.\n"
msgstr ""
-#: plugins/check_http.c:239
+#: plugins/check_http.c:242
msgid "unknown argument"
msgstr ""
-#: plugins/check_http.c:251
+#: plugins/check_http.c:254
msgid "timeout interval must be a non-negative integer"
msgstr ""
-#: plugins/check_http.c:257
+#: plugins/check_http.c:260
msgid "invalid critical threshold"
msgstr ""
-#: plugins/check_http.c:265
+#: plugins/check_http.c:268
msgid "invalid warning threshold"
msgstr ""
-#: plugins/check_http.c:279 plugins/check_http.c:294
+#: plugins/check_http.c:282 plugins/check_http.c:297
msgid "check_http: invalid option - SSL is not available\n"
msgstr ""
-#: plugins/check_http.c:288
+#: plugins/check_http.c:291
msgid "invalid certificate expiration period"
msgstr ""
-#: plugins/check_http.c:309
+#: plugins/check_http.c:312
#, c-format
msgid "option f:%d \n"
msgstr ""
-#: plugins/check_http.c:324
+#: plugins/check_http.c:327
msgid "invalid port number"
msgstr ""
-#: plugins/check_http.c:352
+#: plugins/check_http.c:358
msgid "check_http: call for regex which was not a compiled option\n"
msgstr ""
-#: plugins/check_http.c:366
+#: plugins/check_http.c:372
#, c-format
msgid "Could Not Compile Regular Expression: %s"
msgstr ""
-#: plugins/check_http.c:378 plugins/check_ldap.c:241 plugins/check_ping.c:222
-#: plugins/check_smtp.c:294 plugins/check_ssh.c:128 plugins/check_tcp.c:421
+#: plugins/check_http.c:384 plugins/check_ldap.c:241 plugins/check_ping.c:224
+#: plugins/check_smtp.c:366 plugins/check_ssh.c:128 plugins/check_tcp.c:425
msgid "IPv6 support not available\n"
msgstr ""
-#: plugins/check_http.c:400
+#: plugins/check_http.c:406
msgid "check_http: you must specify a server address or host name\n"
msgstr ""
-#: plugins/check_http.c:488 plugins/check_http.c:503
+#: plugins/check_http.c:494 plugins/check_http.c:509
msgid "Unable to open TCP socket\n"
msgstr ""
-#: plugins/check_http.c:561
+#: plugins/check_http.c:571
msgid "Client Certificate Required\n"
msgstr ""
-#: plugins/check_http.c:563 plugins/check_http.c:568
+#: plugins/check_http.c:573 plugins/check_http.c:578
msgid "Error in recv()\n"
msgstr ""
-#: plugins/check_http.c:576
+#: plugins/check_http.c:586
#, c-format
msgid "No data received %s\n"
msgstr ""
-#: plugins/check_http.c:620
+#: plugins/check_http.c:630
msgid "Invalid HTTP response received from host\n"
msgstr ""
-#: plugins/check_http.c:623
+#: plugins/check_http.c:633
#, c-format
msgid "Invalid HTTP response received from host on port %d\n"
msgstr ""
-#: plugins/check_http.c:631
+#: plugins/check_http.c:641
#, c-format
msgid "HTTP OK: Status line output matched \"%s\"\n"
msgstr ""
-#: plugins/check_http.c:643
+#: plugins/check_http.c:653
#, c-format
msgid "HTTP CRITICAL: Invalid Status Line (%s)\n"
msgstr ""
-#: plugins/check_http.c:650
+#: plugins/check_http.c:660
#, c-format
msgid "HTTP CRITICAL: Invalid Status (%s)\n"
msgstr ""
-#: plugins/check_http.c:654
+#: plugins/check_http.c:664
#, c-format
msgid "HTTP CRITICAL: %s\n"
msgstr ""
-#: plugins/check_http.c:658
+#: plugins/check_http.c:668
#, c-format
msgid "HTTP WARNING: %s\n"
msgstr ""
-#: plugins/check_http.c:666
-msgid "UNKNOWN"
-msgstr ""
-
-#: plugins/check_http.c:668 plugins/check_http.c:918 plugins/check_procs.c:249
-msgid "OK"
-msgstr ""
-
-#: plugins/check_http.c:670 plugins/check_procs.c:251
-msgid "WARNING"
-msgstr ""
-
-#: plugins/check_http.c:672 plugins/check_procs.c:256
-msgid "CRITICAL"
-msgstr ""
-
-#: plugins/check_http.c:676
+#: plugins/check_http.c:686
#, c-format
msgid " - %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:688
+#: plugins/check_http.c:698
#, c-format
msgid "HTTP problem: %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:702 plugins/check_http.c:719
+#: plugins/check_http.c:712 plugins/check_http.c:729
#, c-format
msgid "HTTP OK %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:709
+#: plugins/check_http.c:719
#, c-format
msgid "CRITICAL - string not found%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:727
+#: plugins/check_http.c:737
#, c-format
msgid "CRITICAL - pattern not found%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:734
+#: plugins/check_http.c:744
#, c-format
msgid "CRITICAL - Execute Error: %s\n"
msgstr ""
-#: plugins/check_http.c:744
+#: plugins/check_http.c:754
#, c-format
msgid "HTTP WARNING: page size %d too small%s|%s\n"
msgstr ""
-#: plugins/check_http.c:749
+#: plugins/check_http.c:759
#, c-format
msgid "HTTP OK %s - %d bytes in %.3f seconds %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:785
+#: plugins/check_http.c:795
msgid "ERROR: could not allocate addr\n"
msgstr ""
-#: plugins/check_http.c:789 plugins/check_http.c:809
+#: plugins/check_http.c:799 plugins/check_http.c:819
msgid "ERROR: could not allocate url\n"
msgstr ""
-#: plugins/check_http.c:799
+#: plugins/check_http.c:809
#, c-format
msgid "UNKNOWN - Could not find redirect location - %s%s\n"
msgstr ""
-#: plugins/check_http.c:852
+#: plugins/check_http.c:862
#, c-format
msgid "UNKNOWN - Could not parse redirect location - %s%s\n"
msgstr ""
-#: plugins/check_http.c:862
+#: plugins/check_http.c:872
#, c-format
msgid "WARNING - maximum redirection depth %d exceeded - %s://%s:%d%s%s\n"
msgstr ""
-#: plugins/check_http.c:870
+#: plugins/check_http.c:880
#, c-format
msgid "WARNING - redirection creates an infinite loop - %s://%s:%d%s%s\n"
msgstr ""
-#: plugins/check_http.c:918
+#: plugins/check_http.c:928
#, c-format
msgid "SSL seeding: %s\n"
msgstr ""
-#: plugins/check_http.c:918
+#: plugins/check_http.c:928
msgid "Failed"
msgstr ""
-#: plugins/check_http.c:925
+#: plugins/check_http.c:935
msgid "CRITICAL - Cannot create SSL context.\n"
msgstr ""
-#: plugins/check_http.c:949
+#: plugins/check_http.c:959
msgid "CRITICAL - Cannot initiate SSL handshake.\n"
msgstr ""
-#: plugins/check_http.c:977 plugins/check_http.c:989
+#: plugins/check_http.c:987 plugins/check_http.c:999
msgid "CRITICAL - Wrong time format in certificate.\n"
msgstr ""
-#: plugins/check_http.c:1018
+#: plugins/check_http.c:1028
#, c-format
msgid "WARNING - Certificate expires in %d day(s) (%s).\n"
msgstr ""
-#: plugins/check_http.c:1022
+#: plugins/check_http.c:1032
#, c-format
msgid "CRITICAL - Certificate expired on %s.\n"
msgstr ""
-#: plugins/check_http.c:1027
+#: plugins/check_http.c:1037
#, c-format
msgid "WARNING - Certificate expires today (%s).\n"
msgstr ""
-#: plugins/check_http.c:1031
+#: plugins/check_http.c:1041
#, c-format
msgid "OK - Certificate will expire on %s.\n"
msgstr ""
-#: plugins/check_http.c:1106
+#: plugins/check_http.c:1116
msgid ""
"This plugin tests the HTTP service on the specified host. It can test\n"
"normal (http) and secure (https) servers, follow redirects, search for\n"
"certificate expiration times.\n"
msgstr ""
-#: plugins/check_http.c:1114
+#: plugins/check_http.c:1124
msgid "NOTE: One or both of -H and -I must be specified\n"
msgstr ""
-#: plugins/check_http.c:1118
+#: plugins/check_http.c:1128
#, c-format
msgid ""
" -H, --hostname=ADDRESS\n"
" Port number (default: %d)\n"
msgstr ""
-#: plugins/check_http.c:1129
+#: plugins/check_http.c:1139
msgid ""
" -S, --ssl\n"
" Connect via SSL\n"
" (when this option is used the url is not checked.)\n"
msgstr ""
-#: plugins/check_http.c:1137
+#: plugins/check_http.c:1147
#, c-format
msgid ""
" -e, --expect=STRING\n"
" URL to GET or POST (default: /)\n"
" -P, --post=STRING\n"
" URL encoded http POST data\n"
+" -T, --content-type=STRING\n"
+" specify Content-Type header media type when POSTing\n"
msgstr ""
-#: plugins/check_http.c:1149
+#: plugins/check_http.c:1161
msgid ""
" -l, --linespan\n"
" Allow regex to span newlines (must precede -r or -R)\n"
" Search page for case-insensitive regex STRING\n"
msgstr ""
-#: plugins/check_http.c:1158
+#: plugins/check_http.c:1170
msgid ""
" -a, --authorization=AUTH_PAIR\n"
" Username:password on sites with basic authentication\n"
" Minimum page size required (bytes)\n"
msgstr ""
-#: plugins/check_http.c:1174
+#: plugins/check_http.c:1186
msgid ""
"This plugin will attempt to open an HTTP connection with the host. "
"Successful\n"
"(fully qualified domain name) as the [host_name] argument.\n"
msgstr ""
-#: plugins/check_http.c:1183
+#: plugins/check_http.c:1195
msgid ""
"\n"
"This plugin can also check whether an SSL enabled web server is able to\n"
"certificate is still valid for the specified number of days.\n"
msgstr ""
-#: plugins/check_http.c:1187
+#: plugins/check_http.c:1199
msgid ""
"\n"
"CHECK CONTENT: check_http -w 5 -c 10 --ssl www.verisign.com\n"
"\n"
msgstr ""
-#: plugins/check_http.c:1194
+#: plugins/check_http.c:1206
msgid ""
"CHECK CERTIFICATE: check_http www.verisign.com -C 14\n"
"\n"
"the certificate is expired.\n"
msgstr ""
-#: plugins/check_http.c:1212
+#: plugins/check_http.c:1224
#, c-format
msgid ""
"Usage: %s (-H <vhost> | -I <IP-address>) [-u <uri>] [-p <port>]\n"
msgid "Unable to process MRTG log file\n"
msgstr ""
-#: plugins/check_mrtg.c:123 plugins/check_mrtgtraf.c:121
+#: plugins/check_mrtg.c:123 plugins/check_mrtgtraf.c:120
#, c-format
msgid "MRTG data has expired (%d minutes old)\n"
msgstr ""
-#: plugins/check_mrtg.c:143
-msgid "Ave"
+#: plugins/check_mrtg.c:141 plugins/check_mrtgtraf.c:179
+#: plugins/check_mrtgtraf.c:180
+msgid "Avg"
msgstr ""
-#: plugins/check_mrtg.c:143 plugins/check_mrtgtraf.c:175
-#: plugins/check_mrtgtraf.c:183 plugins/check_mrtgtraf.c:184
-#: plugins/check_mrtgtraf.c:189 plugins/check_mrtgtraf.c:190
+#: plugins/check_mrtg.c:141 plugins/check_mrtgtraf.c:179
+#: plugins/check_mrtgtraf.c:180
msgid "Max"
msgstr ""
-#: plugins/check_mrtg.c:207 plugins/check_mrtg.c:259
+#: plugins/check_mrtg.c:211 plugins/check_mrtg.c:263
msgid "Invalid variable number\n"
msgstr ""
-#: plugins/check_mrtg.c:242
+#: plugins/check_mrtg.c:246
#, c-format
msgid ""
"%s is not a valid expiration time\n"
"Use '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_mrtg.c:286
+#: plugins/check_mrtg.c:290
msgid "You must supply the variable number\n"
msgstr ""
-#: plugins/check_mrtg.c:310
+#: plugins/check_mrtg.c:314
msgid ""
"This plugin will check either the average or maximum value of one of the\n"
"two variables recorded in an MRTG log file.\n"
msgstr ""
-#: plugins/check_mrtg.c:318
+#: plugins/check_mrtg.c:322
msgid ""
" -F, --logfile=FILE\n"
" The MRTG log file containing the data you want to monitor\n"
" Threshold value for data to result in CRITICAL status\n"
msgstr ""
-#: plugins/check_mrtg.c:332
+#: plugins/check_mrtg.c:336
#, c-format
msgid ""
" -l, --label=STRING\n"
" \"Bytes Per Second\", \"%% Utilization\")\n"
msgstr ""
-#: plugins/check_mrtg.c:339
+#: plugins/check_mrtg.c:343
msgid ""
"If the value exceeds the <vwl> threshold, a WARNING status is returned. If\n"
"the value exceeds the <vcl> threshold, a CRITICAL status is returned. If\n"
"\n"
msgstr ""
-#: plugins/check_mrtg.c:345
+#: plugins/check_mrtg.c:349
msgid ""
"This plugin is useful for monitoring MRTG data that does not correspond to\n"
"bandwidth usage. (Use the check_mrtgtraf plugin for monitoring bandwidth).\n"
"\n"
msgstr ""
-#: plugins/check_mrtg.c:352
+#: plugins/check_mrtg.c:356
msgid ""
"Notes:\n"
"- This plugin only monitors one of the two variables stored in the MRTG log\n"
" http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html\n"
msgstr ""
-#: plugins/check_mrtg.c:372
+#: plugins/check_mrtg.c:376
#, c-format
msgid ""
"Usage: %s -F log_file -a <AVG | MAX> -v variable -w warning -c critical\n"
" [-l label] [-u units] [-e expire_minutes] [-t timeout] [-v]\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:174
+#: plugins/check_mrtgtraf.c:178
#, c-format
-msgid "Traffic CRITICAL %s. In = %0.1f %s, %s. Out = %0.1f %s"
+msgid "%s. In = %0.1f %s, %s. Out = %0.1f %s|%s %s\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:175 plugins/check_mrtgtraf.c:183
-#: plugins/check_mrtgtraf.c:184 plugins/check_mrtgtraf.c:189
-#: plugins/check_mrtgtraf.c:190
-msgid "Avg"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:182
-#, c-format
-msgid "Traffic WARNING %s. In = %0.1f %s, %s. Out = %0.1f %s"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:188
+#: plugins/check_mrtgtraf.c:191
#, c-format
-msgid "Traffic OK - %s. In = %0.1f %s, %s. Out = %0.1f %s\n"
+msgid "Traffic %s - %s\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:193
-#, c-format
-msgid "UNKNOWN %s\n"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:332
+#: plugins/check_mrtgtraf.c:330
msgid ""
" -F, --filename=STRING\n"
" File to read log from\n"
" Critical threshold pair \"<incoming>,<outgoing>\"\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:344
+#: plugins/check_mrtgtraf.c:342
msgid ""
"\n"
"This plugin will check the incoming/outgoing transfer rates of a router,\n"
"\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:352
+#: plugins/check_mrtgtraf.c:350
msgid ""
"Notes:\n"
"- MRTG stands for Multi Router Traffic Grapher. It can be downloaded from\n"
" for future enhancements of this plugin.\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:370
+#: plugins/check_mrtgtraf.c:368
#, c-format
msgid ""
"Usage: %s -F <log_file> -a <AVG | MAX> -v <variable> -w <warning_pair> -c "
msgid "Usage: %s [-d database] [-H host] [-P port] [-u user] [-p password]\n"
msgstr ""
-#: plugins/check_nagios.c:78
+#: plugins/check_nagios.c:81
msgid "Error: Cannot open status log for reading!\n"
msgstr ""
-#: plugins/check_nagios.c:116
+#: plugins/check_nagios.c:138
#, c-format
-msgid "Found process: %s\n"
+msgid "Found process: %s %s\n"
msgstr ""
-#: plugins/check_nagios.c:136
+#: plugins/check_nagios.c:159
msgid "Could not locate a running Nagios process!\n"
msgstr ""
-#: plugins/check_nagios.c:147
+#: plugins/check_nagios.c:170
#, c-format
msgid "Nagios %s: located %d process%s, status log updated %d second%s ago\n"
msgstr ""
-#: plugins/check_nagios.c:186 plugins/check_nagios.c:220
+#: plugins/check_nagios.c:209 plugins/check_nagios.c:243
#, c-format
msgid ""
"Expiration time must be an integer (seconds)\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:200
+#: plugins/check_nagios.c:223
#, c-format
msgid ""
"%s: Unknown argument: %c\n"
"\n"
msgstr ""
-#: plugins/check_nagios.c:232
+#: plugins/check_nagios.c:255
#, c-format
msgid ""
"You must provide the status_log\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:236
+#: plugins/check_nagios.c:259
#, c-format
msgid ""
"You must provide a process string\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:254
+#: plugins/check_nagios.c:277
msgid ""
"This plugin attempts to check the status of the Nagios process on the local\n"
"machine. The plugin will check to make sure the Nagios status log is no "
"by the <process_string> argument.\n"
msgstr ""
-#: plugins/check_nagios.c:265
+#: plugins/check_nagios.c:288
msgid ""
"-F, --filename=FILE\n"
" Name of the log file to check\n"
" Command to search for in process table\n"
msgstr ""
-#: plugins/check_nagios.c:273
+#: plugins/check_nagios.c:296
msgid ""
"Example:\n"
" ./check_nagios -e 5 \\ -F /usr/local/nagios/var/status.log \\ -C /usr/"
"local/nagios/bin/nagios\n"
msgstr ""
-#: plugins/check_nagios.c:286
+#: plugins/check_nagios.c:309
#, c-format
msgid ""
"Usage: %s -F <status log file> -e <expire_minutes> -C <process_string>\n"
msgstr ""
-#: plugins/check_nt.c:118
+#: plugins/check_nt.c:127
#, c-format
msgid "Wrong client version - running: %s, required: %s"
msgstr ""
-#: plugins/check_nt.c:129 plugins/check_nt.c:182
+#: plugins/check_nt.c:138 plugins/check_nt.c:198
msgid "missing -l parameters"
msgstr ""
-#: plugins/check_nt.c:131
+#: plugins/check_nt.c:140
msgid "wrong -l parameter."
msgstr ""
-#: plugins/check_nt.c:135
+#: plugins/check_nt.c:144
msgid "CPU Load"
msgstr ""
-#: plugins/check_nt.c:156
+#: plugins/check_nt.c:145
+msgid " "
+msgstr ""
+
+#: plugins/check_nt.c:167
#, c-format
msgid " %lu%% (%lu min average)"
msgstr ""
-#: plugins/check_nt.c:163
+#: plugins/check_nt.c:169
+#, c-format
+msgid " '%lu min avg Load'=%lu%%;%lu;%lu;0;100"
+msgstr ""
+
+#: plugins/check_nt.c:179
msgid "not enough values for -l parameters"
msgstr ""
-#: plugins/check_nt.c:175
+#: plugins/check_nt.c:191
#, c-format
msgid "System Uptime : %u day(s) %u hour(s) %u minute(s)"
msgstr ""
-#: plugins/check_nt.c:184
+#: plugins/check_nt.c:200
msgid "wrong -l argument"
msgstr ""
-#: plugins/check_nt.c:193
+#: plugins/check_nt.c:211
#, c-format
msgid "%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"
msgstr ""
-#: plugins/check_nt.c:208
+#: plugins/check_nt.c:214
+#, c-format
+msgid "'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"
+msgstr ""
+
+#: plugins/check_nt.c:228
msgid "Free disk space : Invalid drive "
msgstr ""
-#: plugins/check_nt.c:218
+#: plugins/check_nt.c:238
msgid "No service/process specified"
msgstr ""
-#: plugins/check_nt.c:222
+#: plugins/check_nt.c:242
msgid "ShowAll"
msgstr ""
-#: plugins/check_nt.c:222
+#: plugins/check_nt.c:242
msgid "ShowFail"
msgstr ""
-#: plugins/check_nt.c:237
+#: plugins/check_nt.c:262
#, c-format
msgid ""
"Memory usage: total:%.2f Mb - used: %.2f Mb (%.0f%%) - free: %.2f Mb (%.0f%%)"
msgstr ""
-#: plugins/check_nt.c:253 plugins/check_nt.c:289
+#: plugins/check_nt.c:265
+#, c-format
+msgid "'Memory usage'=%.2fMb;%.2f;%.2f;0.00;%.2f"
+msgstr ""
+
+#: plugins/check_nt.c:301 plugins/check_nt.c:383
msgid "No counter specified"
msgstr ""
#: plugins/check_nt.c:319
+msgid "%"
+msgstr ""
+
+#: plugins/check_nt.c:334
+msgid "Minimum value contains non-numbers"
+msgstr ""
+
+#: plugins/check_nt.c:338
+msgid "Maximum value contains non-numbers"
+msgstr ""
+
+#: plugins/check_nt.c:345
+msgid "No unit counter specified"
+msgstr ""
+
+#: plugins/check_nt.c:413
msgid "Please specify a variable to check"
msgstr ""
-#: plugins/check_nt.c:404 plugins/check_nwstat.c:775
+#: plugins/check_nt.c:500 plugins/check_nwstat.c:781
#: plugins/check_overcr.c:352
#, c-format
msgid ""
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nt.c:457
+#: plugins/check_nt.c:553
msgid "None"
msgstr ""
-#: plugins/check_nt.c:516
+#: plugins/check_nt.c:612
msgid ""
"Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n"
"\n"
"\n"
msgstr ""
-#: plugins/check_nt.c:521
+#: plugins/check_nt.c:617
#, c-format
msgid ""
"\n"
" Print version information\n"
msgstr ""
-#: plugins/check_nt.c:539
+#: plugins/check_nt.c:635
msgid ""
"-v, --variable=STRING\n"
" Variable to check. Valid variables are:\n"
msgstr ""
-#: plugins/check_nt.c:542
+#: plugins/check_nt.c:638
msgid ""
" CLIENTVERSION = Get the NSClient version\n"
" If -l <version> is specified, will return warning if versions differ.\n"
msgstr ""
-#: plugins/check_nt.c:545
+#: plugins/check_nt.c:641
msgid ""
" CPULOAD = Average CPU load on last x minutes.\n"
" Request a -l parameter with the following syntax:\n"
" ie: -l 60,90,95,120,90,95\n"
msgstr ""
-#: plugins/check_nt.c:552
+#: plugins/check_nt.c:648
msgid ""
" UPTIME = Get the uptime of the machine.\n"
" No specific parameters. No warning or critical threshold\n"
msgstr ""
-#: plugins/check_nt.c:555
+#: plugins/check_nt.c:651
msgid ""
" USEDDISKSPACE = Size and percentage of disk use.\n"
" Request a -l parameter containing the drive letter only.\n"
" Warning and critical thresholds can be specified with -w and -c.\n"
msgstr ""
-#: plugins/check_nt.c:559
+#: plugins/check_nt.c:655
msgid ""
" MEMUSE = Memory use.\n"
" Warning and critical thresholds can be specified with -w and -c.\n"
msgstr ""
-#: plugins/check_nt.c:562
+#: plugins/check_nt.c:658
msgid ""
" SERVICESTATE = Check the state of one or several services.\n"
" Request a -l parameters with the following syntax:\n"
"\t\t in the returned string.\n"
msgstr ""
-#: plugins/check_nt.c:568
+#: plugins/check_nt.c:664
msgid ""
" PROCSTATE = Check if one or several process are running.\n"
" Same syntax as SERVICESTATE.\n"
msgstr ""
-#: plugins/check_nt.c:571
+#: plugins/check_nt.c:667
#, c-format
msgid ""
" COUNTER = Check any performance counter of Windows NT/2000.\n"
" \"%%.f %%%% paging file used.\"\n"
msgstr ""
-#: plugins/check_nt.c:580
+#: plugins/check_nt.c:676
msgid ""
"Notes:\n"
" - The NSClient service should be running on the server to get any "
" - Critical thresholds should be lower than warning thresholds\n"
msgstr ""
-#: plugins/check_nt.c:591
+#: plugins/check_nt.c:687
#, c-format
msgid ""
"Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\n"
" [-l params] [-d SHOWALL] [-t timeout]\n"
msgstr ""
-#: plugins/check_nwstat.c:143
+#: plugins/check_nwstat.c:147
#, c-format
msgid "NetWare %s: "
msgstr ""
-#: plugins/check_nwstat.c:174
+#: plugins/check_nwstat.c:178
#, c-format
msgid "Up %s,"
msgstr ""
-#: plugins/check_nwstat.c:182
+#: plugins/check_nwstat.c:186
#, c-format
msgid "Load %s - %s %s-min load average = %lu%%"
msgstr ""
-#: plugins/check_nwstat.c:203
+#: plugins/check_nwstat.c:207
#, c-format
msgid "Conns %s - %lu current connections"
msgstr ""
-#: plugins/check_nwstat.c:222
+#: plugins/check_nwstat.c:226
#, c-format
msgid "%s: Long term cache hits = %lu%%"
msgstr ""
-#: plugins/check_nwstat.c:241
+#: plugins/check_nwstat.c:245
#, c-format
msgid "%s: Total cache buffers = %lu"
msgstr ""
-#: plugins/check_nwstat.c:260
+#: plugins/check_nwstat.c:264
#, c-format
msgid "%s: Dirty cache buffers = %lu"
msgstr ""
-#: plugins/check_nwstat.c:279
+#: plugins/check_nwstat.c:283
#, c-format
msgid "%s: LRU sitting time = %lu minutes"
msgstr ""
-#: plugins/check_nwstat.c:293 plugins/check_nwstat.c:318
-#: plugins/check_nwstat.c:438 plugins/check_nwstat.c:459
-#: plugins/check_nwstat.c:491 plugins/check_nwstat.c:512
+#: plugins/check_nwstat.c:297 plugins/check_nwstat.c:322
+#: plugins/check_nwstat.c:442 plugins/check_nwstat.c:463
+#: plugins/check_nwstat.c:495 plugins/check_nwstat.c:516
#, c-format
msgid "Error: Volume '%s' does not exist!"
msgstr ""
-#: plugins/check_nwstat.c:302
+#: plugins/check_nwstat.c:306
#, c-format
msgid "%s%lu KB free on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:303 plugins/check_nwstat.c:446
-#: plugins/check_nwstat.c:499
+#: plugins/check_nwstat.c:307 plugins/check_nwstat.c:450
+#: plugins/check_nwstat.c:503
msgid "Only "
msgstr ""
-#: plugins/check_nwstat.c:338
+#: plugins/check_nwstat.c:342
#, c-format
msgid "%lu MB (%lu%%) free on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:357
+#: plugins/check_nwstat.c:361
#, c-format
msgid "Directory Services Database is %s (DS version %s)"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
#, c-format
msgid "Logins are %s"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
msgid "enabled"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
msgid "disabled"
msgstr ""
-#: plugins/check_nwstat.c:404
+#: plugins/check_nwstat.c:408
#, c-format
msgid "%lu of %lu (%lu%%) packet receive buffers used"
msgstr ""
-#: plugins/check_nwstat.c:425
+#: plugins/check_nwstat.c:429
#, c-format
msgid "%lu entries in SAP table"
msgstr ""
-#: plugins/check_nwstat.c:427
+#: plugins/check_nwstat.c:431
#, c-format
msgid "%lu entries in SAP table for SAP type %d"
msgstr ""
-#: plugins/check_nwstat.c:446
+#: plugins/check_nwstat.c:450
#, c-format
msgid "%s%lu KB purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:479
+#: plugins/check_nwstat.c:483
#, c-format
msgid "%lu MB (%lu%%) purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:499
+#: plugins/check_nwstat.c:503
#, c-format
msgid "%s%lu KB not yet purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:532
+#: plugins/check_nwstat.c:536
#, c-format
msgid "%lu MB (%lu%%) not yet purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:550
+#: plugins/check_nwstat.c:554
#, c-format
msgid "%lu open files"
msgstr ""
-#: plugins/check_nwstat.c:567
+#: plugins/check_nwstat.c:571
#, c-format
msgid "%lu abended threads"
msgstr ""
-#: plugins/check_nwstat.c:592
+#: plugins/check_nwstat.c:596
#, c-format
msgid "%lu current service processes (%lu max)"
msgstr ""
-#: plugins/check_nwstat.c:608
+#: plugins/check_nwstat.c:612
msgid "Critical: Time not in sync with network!"
msgstr ""
-#: plugins/check_nwstat.c:611
+#: plugins/check_nwstat.c:615
msgid "OK! Time in sync with network!"
msgstr ""
-#: plugins/check_nwstat.c:627
+#: plugins/check_nwstat.c:631
#, c-format
msgid "LRU sitting time = %lu seconds"
msgstr ""
-#: plugins/check_nwstat.c:643
+#: plugins/check_nwstat.c:647
#, c-format
msgid "dirty cache buffers = %lu%% of the total"
msgstr ""
-#: plugins/check_nwstat.c:658
+#: plugins/check_nwstat.c:662
#, c-format
msgid "total cache buffers = %lu%% of the original"
msgstr ""
-#: plugins/check_nwstat.c:668
+#: plugins/check_nwstat.c:672
#, c-format
msgid "NDS Version %s"
msgstr ""
-#: plugins/check_nwstat.c:677
+#: plugins/check_nwstat.c:681
#, c-format
msgid "Up %s"
msgstr ""
-#: plugins/check_nwstat.c:687
+#: plugins/check_nwstat.c:691
#, c-format
msgid "Module %s version %s is loaded"
msgstr ""
-#: plugins/check_nwstat.c:690
+#: plugins/check_nwstat.c:694
#, c-format
msgid "Module %s is not loaded"
msgstr ""
-#: plugins/check_nwstat.c:695 plugins/check_overcr.c:270
+#: plugins/check_nwstat.c:699 plugins/check_overcr.c:270
msgid "Nothing to check!\n"
msgstr ""
-#: plugins/check_nwstat.c:906
+#: plugins/check_nwstat.c:912
#, c-format
msgid ""
"Usage: %s This plugin attempts to contact the MRTGEXT NLM running\n"
"\n"
msgstr ""
-#: plugins/check_nwstat.c:917
+#: plugins/check_nwstat.c:923
msgid ""
" -v, --variable=STRING\n"
" Variable to check. Valid variables include:\n"
" UPTIME = server uptime\n"
msgstr ""
-#: plugins/check_nwstat.c:927
+#: plugins/check_nwstat.c:933
msgid ""
" LTCH = percent long term cache hits\n"
" CBUFF = current number of cache buffers\n"
" TCB = dirty cache buffers as a percentage of the original\n"
msgstr ""
-#: plugins/check_nwstat.c:934
+#: plugins/check_nwstat.c:940
msgid ""
" OFILES = number of open files\n"
" VPF<vol> = percent free space on volume <vol>\n"
" VKNP<vol> = KB of not yet purgeable space on volume <vol>\n"
msgstr ""
-#: plugins/check_nwstat.c:943
+#: plugins/check_nwstat.c:949
msgid ""
" LRUM = LRU sitting time in minutes\n"
" LRUS = LRU sitting time in seconds\n"
" SAPENTRIES<n> = number of entries in the SAP table for SAP type <n>\n"
msgstr ""
-#: plugins/check_nwstat.c:953
+#: plugins/check_nwstat.c:959
msgid ""
" TSYNC = timesync status \n"
" LOGINS = check to see if logins are enabled\n"
" (e.g. \"NLM:TSANDS.NLM\")\n"
msgstr ""
-#: plugins/check_nwstat.c:960
+#: plugins/check_nwstat.c:966
msgid ""
" -w, --warning=INTEGER\n"
" Threshold which will result in a warning status\n"
" Include server version string in results\n"
msgstr ""
-#: plugins/check_nwstat.c:970
+#: plugins/check_nwstat.c:976
msgid ""
"\n"
"Notes:\n"
" TCB, LRUS and LRUM.\n"
msgstr ""
-#: plugins/check_nwstat.c:987
+#: plugins/check_nwstat.c:993
#, c-format
msgid ""
"Usage: %s -H host [-p port] [-v variable] [-w warning] [-c critical]\n"
msgid "PGSQL: CRITICAL - no connection to '%s' (%s).\n"
msgstr ""
-#: plugins/check_pgsql.c:161
+#: plugins/check_pgsql.c:169
#, c-format
-msgid "PGSQL: CRITICAL - database %s (%d sec.)\n"
+msgid "PGSQL: %s - database %s (%d sec.)|%s\n"
msgstr ""
-#: plugins/check_pgsql.c:167
-#, c-format
-msgid "PGSQL: WARNING - database %s (%d sec.)\n"
-msgstr ""
-
-#: plugins/check_pgsql.c:172
-#, c-format
-msgid "PGSQL: ok - database %s (%d sec.)\n"
-msgstr ""
-
-#: plugins/check_pgsql.c:220 plugins/check_snmp.c:449 plugins/negate.c:183
+#: plugins/check_pgsql.c:219 plugins/check_snmp.c:449 plugins/negate.c:183
msgid "Timeout Interval must be an integer"
msgstr ""
-#: plugins/check_pgsql.c:226 plugins/check_pgsql.c:232
+#: plugins/check_pgsql.c:225 plugins/check_pgsql.c:231
msgid "Invalid critical threshold"
msgstr ""
-#: plugins/check_pgsql.c:238
+#: plugins/check_pgsql.c:237
msgid "You gave an invalid host name"
msgstr ""
-#: plugins/check_pgsql.c:244
+#: plugins/check_pgsql.c:243
msgid "Port must be an integer"
msgstr ""
-#: plugins/check_pgsql.c:250
+#: plugins/check_pgsql.c:249
msgid "Database name is not valid"
msgstr ""
-#: plugins/check_pgsql.c:256
+#: plugins/check_pgsql.c:255
msgid "user name is not valid"
msgstr ""
-#: plugins/check_pgsql.c:390
+#: plugins/check_pgsql.c:389
msgid ""
"Test whether a PostgreSQL DBMS is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:80
+#: plugins/check_ping.c:82
msgid "Could not parse arguments"
msgstr ""
-#: plugins/check_ping.c:123
+#: plugins/check_ping.c:124
msgid "Error: Could not interpret output from ping command\n"
msgstr ""
-#: plugins/check_ping.c:139
+#: plugins/check_ping.c:140
#, c-format
msgid "PING %s - %sPacket loss = %d%%"
msgstr ""
-#: plugins/check_ping.c:142
+#: plugins/check_ping.c:143
#, c-format
msgid "PING %s - %sPacket loss = %d%%, RTA = %2.2f ms"
msgstr ""
-#: plugins/check_ping.c:233
+#: plugins/check_ping.c:235
msgid "Could not realloc() addresses\n"
msgstr ""
-#: plugins/check_ping.c:248 plugins/check_ping.c:328
+#: plugins/check_ping.c:250 plugins/check_ping.c:331
#, c-format
msgid "<max_packets> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:271
+#: plugins/check_ping.c:273
#, c-format
msgid ""
"Invalid host name/address: %s\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:282
+#: plugins/check_ping.c:285
#, c-format
msgid "<wpl> (%s) must be an integer percentage\n"
msgstr ""
-#: plugins/check_ping.c:293
+#: plugins/check_ping.c:296
#, c-format
msgid "<cpl> (%s) must be an integer percentage\n"
msgstr ""
-#: plugins/check_ping.c:304
+#: plugins/check_ping.c:307
#, c-format
msgid "<wrta> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:315
+#: plugins/check_ping.c:318
#, c-format
msgid "<crta> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:346
+#: plugins/check_ping.c:349
#, c-format
msgid ""
"%s: Warning threshold must be integer or percentage!\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:357
+#: plugins/check_ping.c:360
msgid "<wrta> was not set\n"
msgstr ""
-#: plugins/check_ping.c:361
+#: plugins/check_ping.c:364
msgid "<crta> was not set\n"
msgstr ""
-#: plugins/check_ping.c:365
+#: plugins/check_ping.c:368
msgid "<wpl> was not set\n"
msgstr ""
-#: plugins/check_ping.c:369
+#: plugins/check_ping.c:372
msgid "<cpl> was not set\n"
msgstr ""
-#: plugins/check_ping.c:373
+#: plugins/check_ping.c:376
#, c-format
msgid "<wrta> (%f) cannot be larger than <crta> (%f)\n"
msgstr ""
-#: plugins/check_ping.c:377
+#: plugins/check_ping.c:380
#, c-format
msgid "<wpl> (%d) cannot be larger than <cpl> (%d)\n"
msgstr ""
-#: plugins/check_ping.c:390
+#: plugins/check_ping.c:393
msgid "Invalid host name/address"
msgstr ""
-#: plugins/check_ping.c:408
+#: plugins/check_ping.c:411
#, c-format
msgid "Cannot open pipe: %s"
msgstr ""
-#: plugins/check_ping.c:412
+#: plugins/check_ping.c:415
#, c-format
msgid "Cannot open stderr for %s\n"
msgstr ""
-#: plugins/check_ping.c:468
+#: plugins/check_ping.c:471
#, c-format
msgid "PING CRITICAL - Network unreachable (%s)"
msgstr ""
-#: plugins/check_ping.c:470
+#: plugins/check_ping.c:473
#, c-format
msgid "PING CRITICAL - Host Unreachable (%s)"
msgstr ""
-#: plugins/check_ping.c:472
+#: plugins/check_ping.c:475
#, c-format
msgid "PING CRITICAL - Host not found (%s)"
msgstr ""
-#: plugins/check_ping.c:479
+#: plugins/check_ping.c:482
msgid "unable to realloc warn_text"
msgstr ""
-#: plugins/check_ping.c:505 plugins/check_procs.c:586
+#: plugins/check_ping.c:508 plugins/check_procs.c:582
msgid "Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>"
msgstr ""
-#: plugins/check_ping.c:508
+#: plugins/check_ping.c:511
msgid ""
"Use ping to check connection statistics for a remote host.\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:516
+#: plugins/check_ping.c:519
#, c-format
msgid ""
"-H, --hostname=HOST\n"
" show HTML in the plugin output (obsoleted by urlize)\n"
msgstr ""
-#: plugins/check_ping.c:531
+#: plugins/check_ping.c:534
#, c-format
msgid ""
"THRESHOLD is <rta>,<pl>%% where <rta> is the round trip average travel\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:536
+#: plugins/check_ping.c:539
msgid ""
"This plugin uses the ping command to probe the specified host for packet "
"loss\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:116
+#: plugins/check_procs.c:120
msgid "Unable to parse command line\n"
msgstr ""
-#: plugins/check_procs.c:119
+#: plugins/check_procs.c:123
#, c-format
msgid "CMD: %s\n"
msgstr ""
-#: plugins/check_procs.c:215
+#: plugins/check_procs.c:229
#, c-format
msgid "Not parseable: %s"
msgstr ""
-#: plugins/check_procs.c:222
+#: plugins/check_procs.c:236
#, c-format
msgid "STDERR: %s"
msgstr ""
-#: plugins/check_procs.c:224
+#: plugins/check_procs.c:238
msgid "System call sent warnings to stderr\n"
msgstr ""
-#: plugins/check_procs.c:231
+#: plugins/check_procs.c:245
msgid "System call returned nonzero status\n"
msgstr ""
-#: plugins/check_procs.c:236 plugins/check_users.c:96
+#: plugins/check_procs.c:250 plugins/check_users.c:99
msgid "Unable to read output\n"
msgstr ""
-#: plugins/check_procs.c:253
+#: plugins/check_procs.c:267
#, c-format
msgid "%d warn out of "
msgstr ""
-#: plugins/check_procs.c:258
+#: plugins/check_procs.c:272
#, c-format
msgid "%d crit, %d warn out of "
msgstr ""
-#: plugins/check_procs.c:261
+#: plugins/check_procs.c:275
#, c-format
msgid "%d process"
msgid_plural "%d processes"
msgstr[0] ""
msgstr[1] ""
-#: plugins/check_procs.c:264
+#: plugins/check_procs.c:278
#, c-format
msgid " with %s"
msgstr ""
-#: plugins/check_procs.c:328 plugins/check_ssh.c:117
+#: plugins/check_procs.c:342 plugins/check_ssh.c:117
msgid ""
"Timeout Interval must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:342
+#: plugins/check_procs.c:356
msgid ""
"Critical Process Count must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:354
-#, c-format
+#: plugins/check_procs.c:368
msgid ""
-"%s: Warning Process Count must be an integer!\n"
+"Warning Process Count must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:362
+#: plugins/check_procs.c:376
#, c-format
msgid ""
"%s: Parent Process ID must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:371 plugins/check_procs.c:484
+#: plugins/check_procs.c:382 plugins/check_procs.c:480
#, c-format
msgid "%s%sSTATE = %s"
msgstr ""
-#: plugins/check_procs.c:380
+#: plugins/check_procs.c:391
#, c-format
-msgid "UID %d was not found\n"
+msgid "UID %s was not found\n"
msgstr ""
-#: plugins/check_procs.c:389
+#: plugins/check_procs.c:397
#, c-format
msgid "User name %s was not found\n"
msgstr ""
-#: plugins/check_procs.c:397
+#: plugins/check_procs.c:402
#, c-format
msgid "%s%sUID = %d (%s)"
msgstr ""
-#: plugins/check_procs.c:406
+#: plugins/check_procs.c:411
#, c-format
msgid "%s%scommand name '%s'"
msgstr ""
-#: plugins/check_procs.c:415
+#: plugins/check_procs.c:420
#, c-format
msgid "%s%sargs '%s'"
msgstr ""
-#: plugins/check_procs.c:420
+#: plugins/check_procs.c:425
#, c-format
msgid "%s%sRSS >= %d"
msgstr ""
-#: plugins/check_procs.c:424
+#: plugins/check_procs.c:429
#, c-format
msgid ""
"%s: RSS must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:430
+#: plugins/check_procs.c:432
#, c-format
msgid "%s%sVSZ >= %d"
msgstr ""
-#: plugins/check_procs.c:434
+#: plugins/check_procs.c:436
#, c-format
msgid ""
"%s: VSZ must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:441
+#: plugins/check_procs.c:440
#, c-format
msgid "%s%sPCPU >= %.2f"
msgstr ""
-#: plugins/check_procs.c:445
+#: plugins/check_procs.c:444
#, c-format
msgid ""
"%s: PCPU must be a float!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:467
+#: plugins/check_procs.c:463
#, c-format
msgid ""
"%s: metric must be one of PROCS, VSZ, RSS, CPU!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:504
+#: plugins/check_procs.c:500
#, c-format
msgid "wmax (%d) cannot be greater than cmax (%d)\n"
msgstr ""
-#: plugins/check_procs.c:508
+#: plugins/check_procs.c:504
#, c-format
msgid "wmin (%d) cannot be less than cmin (%d)\n"
msgstr ""
-#: plugins/check_procs.c:589
+#: plugins/check_procs.c:585
msgid ""
"Checks all processes and generates WARNING or CRITICAL states if the "
"specified\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:596
+#: plugins/check_procs.c:592
msgid ""
"\n"
"Required Arguments:\n"
" Generate critical state if metric is outside this range\n"
msgstr ""
-#: plugins/check_procs.c:603
+#: plugins/check_procs.c:599
msgid ""
"\n"
"Optional Arguments:\n"
" Extra information. Up to 3 verbosity levels\n"
msgstr ""
-#: plugins/check_procs.c:614
+#: plugins/check_procs.c:610
msgid ""
"\n"
"Optional Filters:\n"
" Only scan for processes with rss higher than indicated.\n"
msgstr ""
-#: plugins/check_procs.c:627
+#: plugins/check_procs.c:623
msgid ""
" -P, --pcpu=PCPU\n"
" Only scan for processes with pcpu higher than indicated.\n"
" Only scan for exact matches of COMMAND (without path).\n"
msgstr ""
-#: plugins/check_procs.c:637
+#: plugins/check_procs.c:633
msgid ""
"\n"
"RANGEs are specified 'min:max' or 'min:' or ':max' (or 'max'). If\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:642
+#: plugins/check_procs.c:638
msgid ""
"This plugin checks the number of currently running processes and\n"
"generates WARNING or CRITICAL states if the process count is outside\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:649
+#: plugins/check_procs.c:645
msgid ""
"Examples:\n"
" check_procs -w 2:2 -c 2:1024 -C portsentry\n"
"\n"
" check_procs -w 50000 -c 100000 --metric=VSZ\n"
" Alert if vsz of any processes over 50K or 100K\n"
+" check_procs -w 10 -c 20 --metric=CPU\n"
+" Alert if cpu of any processes over 10% or 20%\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:116
+#: plugins/check_radius.c:117
msgid "Config file error"
msgstr ""
-#: plugins/check_radius.c:123
+#: plugins/check_radius.c:125
msgid "Out of Memory?"
msgstr ""
-#: plugins/check_radius.c:144
+#: plugins/check_radius.c:146
msgid "Timeout"
msgstr ""
-#: plugins/check_radius.c:146
+#: plugins/check_radius.c:148
msgid "Auth Error"
msgstr ""
-#: plugins/check_radius.c:148
+#: plugins/check_radius.c:150
msgid "Auth Failed"
msgstr ""
-#: plugins/check_radius.c:152
+#: plugins/check_radius.c:154
msgid "Auth OK"
msgstr ""
-#: plugins/check_radius.c:190 plugins/check_radius.c:261
+#: plugins/check_radius.c:193 plugins/check_radius.c:267
msgid "Timeout interval must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:194 plugins/check_radius.c:255
+#: plugins/check_radius.c:197 plugins/check_radius.c:261
msgid "Number of retries must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:199 plugins/check_radius.c:237
+#: plugins/check_radius.c:202 plugins/check_radius.c:240
msgid "Server port must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:281
+#: plugins/check_radius.c:287
msgid "Copyright (c) 1999 Robert August Vincent II\n"
msgstr ""
-#: plugins/check_radius.c:284
+#: plugins/check_radius.c:290
msgid ""
"Tests to see if a radius server is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:292
+#: plugins/check_radius.c:298
msgid ""
" -u, --username=STRING\n"
" The user to authenticate\n"
" -p, --password=STRING\n"
" Password for autentication (SECURITY RISK)\n"
+" -n, --nas-id=STRING\n"
+" NAS identifier\n"
" -F, --filename=STRING\n"
" Configuration file\n"
" -e, --expect=STRING\n"
" Number of times to retry a failed connection\n"
msgstr ""
-#: plugins/check_radius.c:306
+#: plugins/check_radius.c:314
msgid ""
"\n"
"This plugin tests a radius server to see if it is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:313
+#: plugins/check_radius.c:321
msgid ""
"The password option presents a substantial security issue because the\n"
"password can be determined by careful watching of the command line in\n"
msgid "REAL %s - %d second response time\n"
msgstr ""
-#: plugins/check_real.c:319 plugins/check_smtp.c:243 plugins/check_tcp.c:459
+#: plugins/check_real.c:319 plugins/check_smtp.c:301 plugins/check_tcp.c:463
msgid "Server port must be a positive integer\n"
msgstr ""
-#: plugins/check_real.c:328 plugins/check_smtp.c:273
+#: plugins/check_real.c:328 plugins/check_smtp.c:345
msgid "Warning time must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_real.c:337 plugins/check_smtp.c:264
+#: plugins/check_real.c:337 plugins/check_smtp.c:336
msgid "Critical time must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_real.c:348 plugins/check_smtp.c:284
+#: plugins/check_real.c:348 plugins/check_smtp.c:356
msgid "Time interval must be a nonnegative integer\n"
msgstr ""
"values."
msgstr ""
-#: plugins/check_smtp.c:108
+#: plugins/check_smtp.c:126
msgid "recv() failed\n"
msgstr ""
-#: plugins/check_smtp.c:117
+#: plugins/check_smtp.c:137
msgid "Invalid SMTP response received from host\n"
msgstr ""
-#: plugins/check_smtp.c:119
+#: plugins/check_smtp.c:139
#, c-format
msgid "Invalid SMTP response received from host on port %d\n"
msgstr ""
-#: plugins/check_smtp.c:149
+#: plugins/check_smtp.c:183 plugins/check_snmp.c:512
+msgid "Could Not Compile Regular Expression"
+msgstr ""
+
+#: plugins/check_smtp.c:192 plugins/check_smtp.c:202
#, c-format
-msgid ""
-"DUMMYCMD: %s\n"
-"%s\n"
+msgid "SMTP %s - Invalid response '%s' to command '%s'\n"
msgstr ""
-#: plugins/check_smtp.c:172
+#: plugins/check_smtp.c:196 plugins/check_snmp.c:278
#, c-format
-msgid "SMTP %s - %.3f sec. response time, %s|time=%ldus\n"
+msgid "Execute Error: %s\n"
msgstr ""
-#: plugins/check_smtp.c:175
+#: plugins/check_smtp.c:227
#, c-format
-msgid "SMTP %s - %.3f second response time|time=%ldus\n"
+msgid "SMTP %s - %.3f sec. response time%s%s|%s\n"
msgstr ""
-#: plugins/check_smtp.c:356
+#: plugins/check_smtp.c:315 plugins/check_smtp.c:325 plugins/check_snmp.c:568
+#, c-format
+msgid "Could not realloc() units [%d]\n"
+msgstr ""
+
+#: plugins/check_smtp.c:428
msgid "Copyright (c) 1999-2001 Ethan Galstad <nagios@nagios.org>\n"
msgstr ""
-#: plugins/check_smtp.c:359
+#: plugins/check_smtp.c:431
msgid ""
"This plugin will attempt to open an SMTP connection with the host.\n"
"\n"
msgstr ""
-#: plugins/check_smtp.c:370
+#: plugins/check_smtp.c:442
#, c-format
msgid ""
" -e, --expect=STRING\n"
" -n, nocommand\n"
" Suppress SMTP command\n"
" -C, --command=STRING\n"
-" SMTP command (default: '%s')\n"
+" SMTP command (may be used repeatedly)\n"
+" -R, --command=STRING\n"
+" Expected response to command (may be used repeatedly)\n"
" -f, --from=STRING\n"
" FROM-address to include in MAIL command, required by Exchange 2000\n"
-" (default: '%s')\n"
msgstr ""
-#: plugins/check_smtp.c:387
+#: plugins/check_smtp.c:461
msgid ""
"\n"
"Successul connects return STATE_OK, refusals and timeouts return\n"
"STATE_WARNING return values.\n"
msgstr ""
-#: plugins/check_snmp.c:278
-#, c-format
-msgid "Execute Error: %s\n"
-msgstr ""
-
-#: plugins/check_snmp.c:285 plugins/check_snmp.c:524
+#: plugins/check_snmp.c:285 plugins/check_snmp.c:518
#, c-format
msgid "%s UNKNOWN: call for regex which was not a compiled option"
msgstr ""
#: plugins/check_snmp.c:322 plugins/negate.c:108
#, c-format
msgid ""
-"%s problem - No data recieved from host\n"
+"%s problem - No data received from host\n"
"CMD: %s\n"
msgstr ""
msgid "Invalid critical threshold: %s\n"
msgstr ""
-#: plugins/check_snmp.c:471
+#: plugins/check_snmp.c:468
#, c-format
msgid "Invalid warning threshold: %s\n"
msgstr ""
-#: plugins/check_snmp.c:518
-msgid "Could Not Compile Regular Expression"
-msgstr ""
-
-#: plugins/check_snmp.c:544
+#: plugins/check_snmp.c:538
#, c-format
msgid "Could not realloc() labels[%d]"
msgstr ""
-#: plugins/check_snmp.c:557
+#: plugins/check_snmp.c:550
msgid "Could not realloc() labels\n"
msgstr ""
-#: plugins/check_snmp.c:575
-#, c-format
-msgid "Could not realloc() units [%d]\n"
-msgstr ""
-
-#: plugins/check_snmp.c:588
+#: plugins/check_snmp.c:580
msgid "Could not realloc() units\n"
msgstr ""
-#: plugins/check_snmp.c:661
+#: plugins/check_snmp.c:653
#, c-format
msgid ""
"Missing secname (%s) or authpassword (%s) ! \n"
")"
msgstr ""
-#: plugins/check_snmp.c:679
+#: plugins/check_snmp.c:671
#, c-format
msgid "Invalid SNMP version: %s\n"
msgstr ""
-#: plugins/check_snmp.c:874
+#: plugins/check_snmp.c:864
msgid ""
"Check status of remote machines and obtain sustem information via SNMP\n"
"\n"
msgstr ""
-#: plugins/check_snmp.c:884
+#: plugins/check_snmp.c:874
msgid ""
" -P, --protocol=[1|3]\n"
" SNMP protocol version\n"
" SNMPv3 auth proto\n"
msgstr ""
-#: plugins/check_snmp.c:893
+#: plugins/check_snmp.c:883
#, c-format
msgid ""
" -C, --community=STRING\n"
" SNMPv3 crypt passwd (DES)\n"
msgstr ""
-#: plugins/check_snmp.c:905
+#: plugins/check_snmp.c:895
#, c-format
msgid ""
" -o, --oid=OID(s)\n"
" to be the data that should be used in the evaluation.\n"
msgstr ""
-#: plugins/check_snmp.c:915
+#: plugins/check_snmp.c:905
msgid ""
" -w, --warning=INTEGER_RANGE(s)\n"
" Range(s) which will not result in a WARNING status\n"
" Range(s) which will not result in a CRITICAL status\n"
msgstr ""
-#: plugins/check_snmp.c:922
+#: plugins/check_snmp.c:912
msgid ""
" -s, --string=STRING\n"
" Return OK state (for that OID) if STRING is an exact match\n"
" Prefix label for output from plugin (default -s 'SNMP')\n"
msgstr ""
-#: plugins/check_snmp.c:933
+#: plugins/check_snmp.c:923
msgid ""
" -u, --units=STRING\n"
" Units label(s) for output data (e.g., 'sec.').\n"
" Separates output on multiple OID requests\n"
msgstr ""
-#: plugins/check_snmp.c:943
+#: plugins/check_snmp.c:933
msgid ""
"\n"
"- This plugin uses the 'snmpget' command included with the NET-SNMP "
" http://net-snmp.sourceforge.net before you can use this plugin.\n"
msgstr ""
-#: plugins/check_snmp.c:948
+#: plugins/check_snmp.c:938
msgid ""
"- Multiple OIDs may be indicated by a comma- or space-delimited list (lists "
"with\n"
" internal spaces must be quoted) [max 8 OIDs]\n"
msgstr ""
-#: plugins/check_snmp.c:952
+#: plugins/check_snmp.c:942
msgid ""
"- Ranges are inclusive and are indicated with colons. When specified as\n"
" 'min:max' a STATE_OK will be returned if the result is within the "
" returned if the result is outside the specified range.\n"
msgstr ""
-#: plugins/check_snmp.c:958
+#: plugins/check_snmp.c:948
msgid ""
"- If specified in the order 'max:min' a non-OK state will be returned if "
"the\n"
" result is within the (inclusive) range.\n"
msgstr ""
-#: plugins/check_snmp.c:962
+#: plugins/check_snmp.c:952
msgid ""
"- Upper or lower bounds may be omitted to skip checking the respective "
"limit.\n"
" returned from the SNMP query is an unsigned integer.\n"
msgstr ""
-#: plugins/check_snmp.c:976
+#: plugins/check_snmp.c:966
#, c-format
msgid ""
"Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n"
msgid "Usage: %s [-46] [-t <timeout>] [-p <port>] <host>\n"
msgstr ""
-#: plugins/check_swap.c:125
+#: plugins/check_swap.c:145
#, c-format
msgid "Command: %s\n"
msgstr ""
-#: plugins/check_swap.c:127
+#: plugins/check_swap.c:147
#, c-format
msgid "Format: %s\n"
msgstr ""
-#: plugins/check_swap.c:163
+#: plugins/check_swap.c:183
#, c-format
msgid "total=%d, used=%d, free=%d\n"
msgstr ""
-#: plugins/check_swap.c:186
+#: plugins/check_swap.c:197
#, c-format
msgid "total=%d, free=%d\n"
msgstr ""
-#: plugins/check_swap.c:222
+#: plugins/check_swap.c:314
#, c-format
-msgid " %d%% free (%lu MB out of %lu MB)%s"
+msgid " %d%% free (%llu MB out of %llu MB)"
msgstr ""
-#: plugins/check_swap.c:365
+#: plugins/check_swap.c:464
msgid "Warning percentage should be more than critical percentage\n"
msgstr ""
-#: plugins/check_swap.c:369
+#: plugins/check_swap.c:468
msgid "Warning free space should be more than critical free space\n"
msgstr ""
-#: plugins/check_swap.c:386
+#: plugins/check_swap.c:485
msgid ""
"Check swap space on local server.\n"
"\n"
msgstr ""
-#: plugins/check_swap.c:392
+#: plugins/check_swap.c:491
#, c-format
msgid ""
"\n"
" Exit with WARNING status if less than INTEGER bytes of swap space are "
"free\n"
" -w, --warning=PERCENT%%\n"
-" Exit with WARNING status if less than PERCENT of swap space has been "
-"used\n"
+" Exit with WARNING status if less than PERCENT of swap space is free\n"
" -c, --critical=INTEGER\n"
" Exit with CRITICAL status if less than INTEGER bytes of swap space are "
"free\n"
" -c, --critical=PERCENT%%\n"
-" Exit with CRITCAL status if less than PERCENT of swap space has been "
-"used\n"
+" Exit with CRITCAL status if less than PERCENT of swap space is free\n"
" -a, --allswaps\n"
" Conduct comparisons for all swap partitions, one by one\n"
+" -v, --verbose\n"
+" Verbose output. Up to 3 levels\n"
msgstr ""
-#: plugins/check_swap.c:404
+#: plugins/check_swap.c:505
msgid ""
"\n"
"On Solaris, if -a specified, uses swap -l, otherwise uses swap -s.\n"
"real memory\n"
msgstr ""
-#: plugins/check_swap.c:408
+#: plugins/check_swap.c:509
msgid ""
"\n"
"On AIX, if -a is specified, uses lsps -a, otherwise uses lsps -s.\n"
msgstr ""
-#: plugins/check_swap.c:420
+#: plugins/check_swap.c:521
#, c-format
msgid ""
"Usage:\n"
-" %s [-a] -w <used_percentage>%% -c <used_percentage>%%\n"
-" %s [-a] -w <bytes_free> -c <bytes_free>\n"
+" %s [-av] -w <percent_free>%% -c <percent_free>%%\n"
+" %s [-av] -w <bytes_free> -c <bytes_free>\n"
" %s (-h | --help) for detailed help\n"
" %s (-V | --version) for version information\n"
msgstr ""
msgid "%s %s%s - %.3f second response time on port %d"
msgstr ""
-#: plugins/check_tcp.c:426
+#: plugins/check_tcp.c:430
msgid "invalid host name or address"
msgstr ""
-#: plugins/check_tcp.c:431 plugins/check_time.c:252 plugins/check_time.c:264
-#: plugins/check_udp.c:166 plugins/check_users.c:145
+#: plugins/check_tcp.c:435 plugins/check_time.c:266 plugins/check_time.c:278
+#: plugins/check_udp.c:166 plugins/check_users.c:154
msgid "Critical threshold must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_tcp.c:438 plugins/check_time.c:233 plugins/check_time.c:257
-#: plugins/check_udp.c:173 plugins/check_users.c:151 plugins/check_users.c:161
-#: plugins/check_users.c:168
+#: plugins/check_tcp.c:442 plugins/check_time.c:247 plugins/check_time.c:271
+#: plugins/check_udp.c:173 plugins/check_users.c:160 plugins/check_users.c:170
+#: plugins/check_users.c:177
msgid "Warning threshold must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_tcp.c:453
+#: plugins/check_tcp.c:457
msgid "Timeout interval must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:476
+#: plugins/check_tcp.c:480
msgid "Maxbytes must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:490
+#: plugins/check_tcp.c:494
msgid "Refuse mut be one of ok, warn, crit\n"
msgstr ""
-#: plugins/check_tcp.c:496
+#: plugins/check_tcp.c:500
msgid "Delay must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:501
+#: plugins/check_tcp.c:505
msgid "SSL support not available. Install OpenSSL and recompile."
msgstr ""
-#: plugins/check_tcp.c:509
+#: plugins/check_tcp.c:513
msgid "You must provide a server address\n"
msgstr ""
-#: plugins/check_tcp.c:527
+#: plugins/check_tcp.c:531
msgid "ERROR: Cannot create SSL context.\n"
msgstr ""
-#: plugins/check_tcp.c:553
+#: plugins/check_tcp.c:557
msgid "ERROR: Cannot initiate SSL handshake.\n"
msgstr ""
-#: plugins/check_tcp.c:599
+#: plugins/check_tcp.c:603
#, c-format
msgid ""
"This plugin tests %s connections with the specified host.\n"
"\n"
msgstr ""
-#: plugins/check_tcp.c:610
+#: plugins/check_tcp.c:614
msgid ""
" -s, --send=STRING\n"
" String to send to the server\n"
" String to send server to initiate a clean close of the connection\n"
msgstr ""
-#: plugins/check_tcp.c:618
+#: plugins/check_tcp.c:622
msgid ""
" -r, --refuse=ok|warn|crit\n"
" Accept tcp refusals with states ok, warn, crit (default: crit)\n"
" Seconds to wait between sending string and polling for response\n"
msgstr ""
-#: plugins/check_tcp.c:641
+#: plugins/check_tcp.c:645
#, c-format
msgid ""
"Usage: %s -H host -p port [-w <warning time>] [-c <critical time>]\n"
" [-r <refuse state>] [-v] [-4|-6]\n"
msgstr ""
-#: plugins/check_time.c:87
+#: plugins/check_time.c:88
#, c-format
msgid "TIME UNKNOWN - could not connect to server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:100
+#: plugins/check_time.c:101
#, c-format
msgid "TIME UNKNOWN - could not send UDP request to server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:124
+#: plugins/check_time.c:125
#, c-format
msgid "TIME UNKNOWN - no data on recv() from server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:136
+#: plugins/check_time.c:138
#, c-format
-msgid "TIME %s - %d second response time\n"
+msgid "TIME %s - %d second response time|%s\n"
msgstr ""
-#: plugins/check_time.c:150
+#: plugins/check_time.c:156
#, c-format
-msgid "TIME %s - %lu second time difference\n"
+msgid "TIME %s - %lu second time difference|%s %s\n"
msgstr ""
-#: plugins/check_time.c:215 plugins/check_time.c:290 plugins/check_udp.c:161
+#: plugins/check_time.c:229 plugins/check_time.c:304 plugins/check_udp.c:161
#: plugins/check_udp.c:202
msgid "Invalid host name/address\n"
msgstr ""
-#: plugins/check_time.c:229
+#: plugins/check_time.c:243
msgid "Warning thresholds must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:248
+#: plugins/check_time.c:262
msgid "Critical thresholds must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:271 plugins/check_udp.c:186
+#: plugins/check_time.c:285 plugins/check_udp.c:186
msgid "Server port must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:277 plugins/check_udp.c:180
+#: plugins/check_time.c:291 plugins/check_udp.c:180
msgid "Timeout interval must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:294 plugins/check_udp.c:207
+#: plugins/check_time.c:308 plugins/check_udp.c:207
msgid "Host name was not supplied\n"
msgstr ""
-#: plugins/check_time.c:314 plugins/check_udp.c:225 plugins/check_users.c:186
+#: plugins/check_time.c:328 plugins/check_udp.c:225 plugins/check_users.c:195
msgid "Copyright (c) 1999 Ethan Galstad\n"
msgstr ""
-#: plugins/check_time.c:317
+#: plugins/check_time.c:331
msgid ""
"This plugin will check the time on the specified host.\n"
"\n"
msgstr ""
-#: plugins/check_time.c:326
+#: plugins/check_time.c:340
msgid ""
" -u, --udp\n"
" Use UDP to connect, not TCP\n"
" Response time (sec.) necessary to result in critical status\n"
msgstr ""
-#: plugins/check_time.c:349
+#: plugins/check_time.c:363
#, c-format
msgid ""
"Usage: %s -H <host_address> [-p port] [-u] [-w variance] [-c variance]\n"
" [-e expect] [-s send] [-t to_sec] [-v]\n"
msgstr ""
-#: plugins/check_ups.c:546
+#: plugins/check_ups.c:573
msgid "Copyright (c) 2000 Tom Shields"
msgstr ""
-#: plugins/check_ups.c:549
+#: plugins/check_ups.c:576
msgid ""
"This plugin tests the UPS service on the specified host.\n"
"Network UPS Tools from www.exploits.org must be running for this plugin to\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:559
+#: plugins/check_ups.c:586
msgid ""
" -u, --ups=STRING\n"
" Name of UPS\n"
msgstr ""
-#: plugins/check_ups.c:569
+#: plugins/check_ups.c:596
msgid ""
"This plugin attempts to determine the status of a UPS (Uninterruptible "
"Power\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:576
+#: plugins/check_ups.c:603
msgid ""
"You may also specify a variable to check [such as temperature, utility "
"voltage,\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:582
+#: plugins/check_ups.c:609
msgid ""
"Notes:\n"
"\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:597
+#: plugins/check_ups.c:624
#, c-format
msgid ""
"Usage: %s -H host [-e expect] [-p port] [-w warn] [-c crit]\n"
" [-t timeout] [-v]\n"
msgstr ""
-#: plugins/check_users.c:73
+#: plugins/check_users.c:76
#, c-format
msgid "# users=%d"
msgstr ""
-#: plugins/check_users.c:98
+#: plugins/check_users.c:106
#, c-format
-msgid "USERS %s - %d users currently logged in\n"
+msgid "USERS %s - %d users currently logged in |%s\n"
msgstr ""
-#: plugins/check_users.c:189
+#: plugins/check_users.c:198
msgid ""
"This plugin checks the number of users currently logged in on the local\n"
"system and generates an error if the number exceeds the thresholds "
"specified.\n"
msgstr ""
-#: plugins/check_users.c:197
+#: plugins/check_users.c:206
msgid ""
" -w, --warning=INTEGER\n"
" Set WARNING status if more than INTEGER users are logged in\n"
#: plugins/urlize.c:105
#, c-format
msgid ""
-"%s problem - No data recieved from host\n"
+"%s problem - No data received from host\n"
"CMD: %s</A>\n"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 65a5a9ba8e4227c58185eb22cfbdbd9a4052c5e8..c1de41d75cdd1f206cb8d3468d10ddeff21165cd 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
msgid ""
msgstr ""
"Project-Id-Version: nagios-plugins 1.3.99\n"
-"POT-Creation-Date: 2003-10-29 21:39-0500\n"
+"POT-Creation-Date: 2004-11-12 00:44+0000\n"
"PO-Revision-Date: 2003-07-25 06:55-0400\n"
"Last-Translator: Pierre-Antoine Angelini <paangelini@users.sourceforge.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"Report-Msgid-Bugs-To: \n"
-#: plugins/check_by_ssh.c:69 plugins/check_dig.c:68 plugins/check_disk.c:164
-#: plugins/check_fping.c:69 plugins/check_nagios.c:64 plugins/check_nt.c:103
-#: plugins/check_nwstat.c:125 plugins/check_radius.c:111
-#: plugins/check_ssh.c:56 plugins/check_tcp.c:211 plugins/check_users.c:49
+#: plugins/check_by_ssh.c:70 plugins/check_dig.c:70 plugins/check_disk.c:165
+#: plugins/check_fping.c:69 plugins/check_nagios.c:67 plugins/check_nt.c:112
+#: plugins/check_nwstat.c:126 plugins/check_radius.c:112
+#: plugins/check_ssh.c:56 plugins/check_tcp.c:212 plugins/check_users.c:52
#: plugins/negate.c:83
msgid "Could not parse arguments\n"
msgstr ""
-#: plugins/check_by_ssh.c:74 plugins/check_dns.c:91 plugins/check_nagios.c:68
-#: plugins/check_pgsql.c:140 plugins/check_ping.c:84 plugins/negate.c:87
+#: plugins/check_by_ssh.c:75 plugins/check_dns.c:69 plugins/check_nagios.c:71
+#: plugins/check_pgsql.c:140 plugins/check_ping.c:86 plugins/negate.c:87
msgid "Cannot catch SIGALRM"
msgstr ""
-#: plugins/check_by_ssh.c:88
+#: plugins/check_by_ssh.c:89
#, c-format
msgid "Unable to open pipe: %s"
msgstr ""
-#: plugins/check_by_ssh.c:96 plugins/check_dig.c:89 plugins/check_dns.c:117
+#: plugins/check_by_ssh.c:97 plugins/check_dig.c:97 plugins/check_dns.c:96
#: plugins/check_fping.c:89 plugins/check_hpjd.c:118 plugins/check_load.c:115
-#: plugins/check_nagios.c:101 plugins/check_procs.c:129
-#: plugins/check_snmp.c:179 plugins/check_swap.c:137 plugins/check_users.c:60
+#: plugins/check_nagios.c:107 plugins/check_procs.c:133
+#: plugins/check_snmp.c:179 plugins/check_swap.c:157 plugins/check_users.c:63
#: plugins/negate.c:97 plugins/urlize.c:93
#, c-format
msgid "Could not open stderr for %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:123
+#: plugins/check_by_ssh.c:129
#, c-format
msgid "SSH WARNING: could not open %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:142
+#: plugins/check_by_ssh.c:148
#, c-format
msgid "[%d] PROCESS_SERVICE_CHECK_RESULT;%s;%s;%d;%s\n"
msgstr ""
-#: plugins/check_by_ssh.c:228
+#: plugins/check_by_ssh.c:235
msgid "timeout interval must be an integer"
msgstr ""
-#: plugins/check_by_ssh.c:234
+#: plugins/check_by_ssh.c:241
msgid "invalid host name"
msgstr ""
-#: plugins/check_by_ssh.c:239
+#: plugins/check_by_ssh.c:246
msgid "port must be an integer"
msgstr ""
-#: plugins/check_by_ssh.c:284
+#: plugins/check_by_ssh.c:288
+msgid "skip lines must be an integer"
+msgstr ""
+
+#: plugins/check_by_ssh.c:298
#, c-format
msgid "%s: You must provide a host name\n"
msgstr ""
-#: plugins/check_by_ssh.c:286
+#: plugins/check_by_ssh.c:300
#, c-format
msgid "%s: Invalid host name %s\n"
msgstr ""
-#: plugins/check_by_ssh.c:302
+#: plugins/check_by_ssh.c:316
msgid "No remotecmd\n"
msgstr ""
-#: plugins/check_by_ssh.c:320
+#: plugins/check_by_ssh.c:334
#, c-format
msgid ""
"%s: In passive mode, you must provide a service name for each command.\n"
msgstr ""
-#: plugins/check_by_ssh.c:323
+#: plugins/check_by_ssh.c:337
#, c-format
msgid ""
"%s: In passive mode, you must provide the host short name from the nagios "
"configs.\n"
msgstr ""
-#: plugins/check_by_ssh.c:338
+#: plugins/check_by_ssh.c:352
msgid ""
"Copyright (c) 1999 Karl DeBisschop <kdebisschop@users.sourceforge.net>\n"
msgstr ""
-#: plugins/check_by_ssh.c:341
+#: plugins/check_by_ssh.c:355
msgid ""
"This plugin uses SSH to execute commands on a remote host\n"
"\n"
msgstr ""
-#: plugins/check_by_ssh.c:351
+#: plugins/check_by_ssh.c:365
msgid ""
" -1, --proto1\n"
" tell ssh to use Protocol 1\n"
" -2, --proto2\n"
" tell ssh to use Protocol 2\n"
+" -S, --skiplines=n\n"
+" Ignore first n lines on STDERR (to suppress a logon banner)\n"
" -f\n"
" tells ssh to fork rather than create a tty\n"
msgstr ""
-#: plugins/check_by_ssh.c:359
+#: plugins/check_by_ssh.c:375
msgid ""
" -C, --command='COMMAND STRING'\n"
" command to execute on the remote machine\n"
" short name of host in nagios configuration [optional]\n"
msgstr ""
-#: plugins/check_by_ssh.c:377
+#: plugins/check_by_ssh.c:393
msgid ""
"\n"
"The most common mode of use is to refer to a local identity file with\n"
"execute additional commands as proxy\n"
msgstr ""
-#: plugins/check_by_ssh.c:386
+#: plugins/check_by_ssh.c:402
msgid ""
"\n"
"To use passive mode, provide multiple '-C' options, and provide\n"
"options)\n"
msgstr ""
-#: plugins/check_by_ssh.c:401
+#: plugins/check_by_ssh.c:407
+msgid ""
+"\n"
+"$ check_by_ssh -H localhost -n lh -s c1:c2:c3 \\\n"
+" -C uptime -C uptime -C uptime -O /tmp/foo\n"
+"$ cat /tmp/foo\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c1;0; up 2 days...\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c2;0; up 2 days...\n"
+"[1080933700] PROCESS_SERVICE_CHECK_RESULT;flint;c3;0; up 2 days...\n"
+msgstr ""
+
+#: plugins/check_by_ssh.c:425
#, c-format
msgid ""
"\n"
" -C <command> [-n name] [-s servicelist] [-O outputfile] [-p port]\n"
msgstr ""
-#: plugins/check_dig.c:65
+#: plugins/check_dig.c:67
msgid "Cannot catch SIGALRM\n"
msgstr ""
-#: plugins/check_dig.c:83 plugins/check_dns.c:111 plugins/check_hpjd.c:112
-#: plugins/check_nagios.c:95 plugins/check_procs.c:123
-#: plugins/check_snmp.c:173 plugins/check_swap.c:131 plugins/check_users.c:54
+#: plugins/check_dig.c:91 plugins/check_dns.c:90 plugins/check_hpjd.c:112
+#: plugins/check_nagios.c:101 plugins/check_procs.c:127
+#: plugins/check_snmp.c:173 plugins/check_swap.c:151 plugins/check_users.c:57
#: plugins/negate.c:93 plugins/urlize.c:87
#, c-format
msgid "Could not open pipe: %s\n"
msgstr ""
-#: plugins/check_dig.c:108
+#: plugins/check_dig.c:128
msgid "Server not found in ANSWER SECTION"
msgstr ""
-#: plugins/check_dig.c:118
+#: plugins/check_dig.c:137
msgid "No ANSWER SECTION found"
msgstr ""
-#: plugins/check_dig.c:135
+#: plugins/check_dig.c:154
msgid "dig returned error status"
msgstr ""
-#: plugins/check_dig.c:142 plugins/check_dns.c:221 plugins/check_dns.c:224
-#: plugins/check_dns.c:227
+#: plugins/check_dig.c:161 plugins/check_dns.c:205 plugins/check_dns.c:208
+#: plugins/check_dns.c:211
msgid " Probably a non-existent host/domain"
msgstr ""
-#: plugins/check_dig.c:150
+#: plugins/check_dig.c:169
#, c-format
msgid "%.3f seconds response time (%s)"
msgstr ""
-#: plugins/check_dig.c:198 plugins/check_pgsql.c:210 plugins/check_ping.c:199
-#: plugins/check_time.c:206 plugins/negate.c:172 plugins/urlize.c:72
+#: plugins/check_dig.c:219 plugins/check_pgsql.c:209 plugins/check_ping.c:201
+#: plugins/check_time.c:220 plugins/negate.c:172 plugins/urlize.c:72
msgid "Unknown argument"
msgstr ""
-#: plugins/check_dig.c:210 plugins/check_dig.c:265 plugins/check_hpjd.c:347
-#: plugins/check_real.c:368 plugins/check_smtp.c:314
+#: plugins/check_dig.c:231 plugins/check_dig.c:288 plugins/check_hpjd.c:347
+#: plugins/check_real.c:368 plugins/check_smtp.c:386
msgid "Invalid host name"
msgstr ""
-#: plugins/check_dig.c:218
+#: plugins/check_dig.c:239
msgid "Server port must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:228
-msgid "Input causes overflow in warning interval"
-msgstr ""
-
-#: plugins/check_dig.c:231
+#: plugins/check_dig.c:250
msgid "Warning interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:238
-msgid "Input causes overflow in critical interval"
-msgstr ""
-
-#: plugins/check_dig.c:241
+#: plugins/check_dig.c:258
msgid "Critical interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:249
+#: plugins/check_dig.c:266
msgid "Time interval must be a nonnegative integer"
msgstr ""
-#: plugins/check_dig.c:301 plugins/urlize.c:132
+#: plugins/check_dig.c:324 plugins/urlize.c:132
msgid ""
"Copyright (c) 2000 Karl DeBisschop <kdebisschop@users.sourceforge.net>\n"
msgstr ""
-#: plugins/check_dig.c:304
+#: plugins/check_dig.c:327
msgid ""
"Test the DNS service on the specified host using dig\n"
"\n"
msgstr ""
-#: plugins/check_dig.c:312
+#: plugins/check_dig.c:335
msgid ""
" -l, --lookup=STRING\n"
" machine name to lookup\n"
msgstr ""
-#: plugins/check_dig.c:331
+#: plugins/check_dig.c:339
+msgid ""
+" -T, --record_type=STRING\n"
+" record type to lookup (default: A)\n"
+msgstr ""
+
+#: plugins/check_dig.c:343
+msgid ""
+" -a, --expected_address=STRING\n"
+" an address expected to be in the asnwer section.\n"
+" if not set, uses whatever was in -l\n"
+msgstr ""
+
+#: plugins/check_dig.c:363
#, c-format
msgid ""
-"Usage: %s -H host -l lookup [-p <server port>] [-w <warning interval>]\n"
-" [-c <critical interval>] [-t <timeout>] [-v]\n"
+"Usage: %s -H host -l lookup [-p <server port>] [-T <query type>]\n"
+" [-w <warning interval>] [-c <critical interval>] [-t <timeout>]\n"
+" [-a <expected answer address>] [-v]\n"
msgstr ""
-#: plugins/check_disk.c:212
+#: plugins/check_disk.c:213
#, c-format
msgid ""
"%s\n"
"lu warn%%:%.0f%% crit%%:%.0f%%"
msgstr ""
-#: plugins/check_disk.c:230
+#: plugins/check_disk.c:231
#, c-format
msgid "%s [%s not found]"
msgstr ""
-#: plugins/check_disk.c:306
+#: plugins/check_disk.c:307
msgid "Timeout Interval must be an integer!\n"
msgstr ""
-#: plugins/check_disk.c:323 plugins/check_swap.c:292
+#: plugins/check_disk.c:324 plugins/check_swap.c:391
msgid "Warning threshold must be integer or percentage!\n"
msgstr ""
-#: plugins/check_disk.c:340 plugins/check_swap.c:309
+#: plugins/check_disk.c:341 plugins/check_swap.c:408
msgid "Critical threshold must be integer or percentage!\n"
msgstr ""
-#: plugins/check_disk.c:361
+#: plugins/check_disk.c:362
#, c-format
msgid "unit type %s not known\n"
msgstr ""
-#: plugins/check_disk.c:364
+#: plugins/check_disk.c:365
#, c-format
msgid "failed allocating storage for '%s'\n"
msgstr ""
-#: plugins/check_disk.c:431
+#: plugins/check_disk.c:440
msgid "check_disk: unrecognized option\n"
msgstr ""
-#: plugins/check_disk.c:488
+#: plugins/check_disk.c:497
msgid "INPUT ERROR: No thresholds specified"
msgstr ""
-#: plugins/check_disk.c:494
+#: plugins/check_disk.c:503
#, c-format
msgid ""
"INPUT ERROR: C_DFP (%f) should be less than W_DFP (%.1f) and both should be "
"between zero and 100 percent, inclusive"
msgstr ""
-#: plugins/check_disk.c:501
+#: plugins/check_disk.c:510
#, c-format
msgid ""
"INPUT ERROR: C_DF (%lu) should be less than W_DF (%lu) and both should be "
"greater than zero"
msgstr ""
-#: plugins/check_disk.c:566 plugins/check_dns.c:406 plugins/check_dummy.c:84
-#: plugins/check_hpjd.c:381 plugins/check_http.c:1103 plugins/check_mrtg.c:307
-#: plugins/check_mrtgtraf.c:325 plugins/check_nwstat.c:903
-#: plugins/check_overcr.c:423 plugins/check_tcp.c:596
+#: plugins/check_disk.c:575 plugins/check_dns.c:394 plugins/check_dummy.c:89
+#: plugins/check_hpjd.c:381 plugins/check_http.c:1113 plugins/check_mrtg.c:311
+#: plugins/check_mrtgtraf.c:323 plugins/check_nwstat.c:909
+#: plugins/check_overcr.c:423 plugins/check_tcp.c:600
msgid "Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>\n"
msgstr ""
-#: plugins/check_disk.c:569
+#: plugins/check_disk.c:578
msgid ""
"This plugin checks the amount of used disk space on a mounted file system\n"
"and generates an alert if free space is less than one of the threshold "
"values."
msgstr ""
-#: plugins/check_disk.c:577
+#: plugins/check_disk.c:586
#, c-format
msgid ""
" -w, --warning=INTEGER\n"
" Clear thresholds\n"
msgstr ""
-#: plugins/check_disk.c:589
+#: plugins/check_disk.c:598
msgid ""
" -u, --units=STRING\n"
" Choose bytes, kB, MB, GB, TB (default: MB)\n"
" Same as '--units MB'\n"
msgstr ""
-#: plugins/check_disk.c:597
+#: plugins/check_disk.c:606
msgid ""
" -l, --local\n"
" Only check local filesystems\n"
" Display only devices/mountpoints with errors\n"
msgstr ""
-#: plugins/check_disk.c:617
+#: plugins/check_disk.c:626
msgid ""
"Examples:\n"
" check_disk -w 10% -c 5% -p /tmp -p /var -C -w 100000 -c 50000 -p /\n"
" Checks /tmp and /var at 10%,5% and / at 100MB, 50MB\n"
msgstr ""
-#: plugins/check_disk.c:630
+#: plugins/check_disk.c:639
#, c-format
msgid ""
"Usage: %s -w limit -c limit [-p path | -x device] [-t timeout] [-m] [-e]\n"
" %s (-V|--version)\n"
msgstr ""
-#: plugins/check_dns.c:129 plugins/check_dns.c:158
+#: plugins/check_dns.c:108
msgid "Unknown error (plugin)"
msgstr ""
-#: plugins/check_dns.c:153
+#: plugins/check_dns.c:128
#, c-format
msgid "DNS CRITICAL - '%s' returned empty host name string\n"
msgstr ""
-#: plugins/check_dns.c:190
+#: plugins/check_dns.c:167
msgid "nslookup returned error status"
msgstr ""
-#: plugins/check_dns.c:197
+#: plugins/check_dns.c:174
#, c-format
msgid "DNS CRITICAL - '%s' output parsing exited with no address\n"
msgstr ""
-#: plugins/check_dns.c:203
+#: plugins/check_dns.c:180
#, c-format
msgid "expected %s but got %s"
msgstr ""
-#: plugins/check_dns.c:215
+#: plugins/check_dns.c:186
#, c-format
-msgid "DNS ok - %.3f seconds response time, address%s %s|%s\n"
+msgid "server %s is not authoritative for %s"
+msgstr ""
+
+#: plugins/check_dns.c:198
+msgid "DNS"
msgstr ""
-#: plugins/check_dns.c:220
+#: plugins/check_dns.c:198 plugins/check_dummy.c:58 plugins/check_http.c:678
+#: plugins/check_http.c:928 plugins/check_procs.c:263
+msgid "OK"
+msgstr ""
+
+#: plugins/check_dns.c:199
+#, c-format
+msgid "%.3f second response time, "
+msgid_plural "%.3f seconds response time, "
+msgstr[0] ""
+msgstr[1] ""
+
+#: plugins/check_dns.c:200
+#, c-format
+msgid "%s returns %s"
+msgstr ""
+
+#: plugins/check_dns.c:204
#, c-format
msgid "DNS WARNING - %s\n"
msgstr ""
-#: plugins/check_dns.c:223
+#: plugins/check_dns.c:207
#, c-format
msgid "DNS CRITICAL - %s\n"
msgstr ""
-#: plugins/check_dns.c:226
+#: plugins/check_dns.c:210
#, c-format
msgid "DNS problem - %s\n"
msgstr ""
-#: plugins/check_dns.c:244
+#: plugins/check_dns.c:228
#, c-format
msgid "No response from name server %s\n"
msgstr ""
-#: plugins/check_dns.c:248
+#: plugins/check_dns.c:232
#, c-format
msgid "Name server %s has no records\n"
msgstr ""
-#: plugins/check_dns.c:255
+#: plugins/check_dns.c:239
#, c-format
msgid "Connection to name server %s was refused\n"
msgstr ""
-#: plugins/check_dns.c:261
+#: plugins/check_dns.c:245
#, c-format
msgid "Domain %s was not found by the server\n"
msgstr ""
-#: plugins/check_dns.c:265
+#: plugins/check_dns.c:249
msgid "Network is unreachable\n"
msgstr ""
-#: plugins/check_dns.c:269
+#: plugins/check_dns.c:253
#, c-format
msgid "Server failure for %s\n"
msgstr ""
-#: plugins/check_dns.c:314 plugins/check_fping.c:243 plugins/check_game.c:210
-#: plugins/check_overcr.c:335 plugins/check_radius.c:213
-#: plugins/check_tcp.c:402 plugins/check_udp.c:147 plugins/check_users.c:134
+#: plugins/check_dns.c:299 plugins/check_fping.c:243 plugins/check_game.c:210
+#: plugins/check_overcr.c:335 plugins/check_radius.c:216
+#: plugins/check_tcp.c:406 plugins/check_udp.c:147 plugins/check_users.c:143
#, c-format
msgid ""
"%s: Unknown argument: %s\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:331 plugins/check_dns.c:343 plugins/check_dns.c:354
-#: plugins/check_dns.c:359 plugins/check_dns.c:369 plugins/check_dns.c:380
+#: plugins/check_dns.c:316 plugins/check_dns.c:328 plugins/check_dns.c:339
+#: plugins/check_dns.c:344 plugins/check_dns.c:357 plugins/check_dns.c:368
#: plugins/check_game.c:227 plugins/check_game.c:235
msgid "Input buffer overflow\n"
msgstr ""
-#: plugins/check_dns.c:338
+#: plugins/check_dns.c:323
msgid ""
"Invalid server name/address\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:349 plugins/check_fping.c:257
-#: plugins/check_radius.c:227
+#: plugins/check_dns.c:334 plugins/check_fping.c:257
+#: plugins/check_radius.c:230
msgid ""
"Invalid host name/address\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:376
+#: plugins/check_dns.c:364
#, c-format
msgid ""
"Invalid name/address: %s\n"
"\n"
msgstr ""
-#: plugins/check_dns.c:413
+#: plugins/check_dns.c:401
msgid ""
"-H, --hostname=HOST\n"
" The name or address you want to query\n"
" Optional DNS server you want to use for the lookup\n"
"-a, --expected-address=IP-ADDRESS\n"
" Optional IP address you expect the DNS server to return\n"
+"-A, --expect-authority\n"
+" Optionally expect the DNS server to be authoritative for the lookup\n"
msgstr ""
-#: plugins/check_dns.c:423
+#: plugins/check_dns.c:413
msgid ""
"\n"
"This plugin uses the nslookup program to obtain the IP address\n"
"specified in /etc/resolv.conf will be used.\n"
msgstr ""
-#: plugins/check_dns.c:438
+#: plugins/check_dns.c:428
#, c-format
msgid ""
-"Usage: %s -H host [-s server] [-a expected-address] [-t timeout]\n"
+"Usage: %s -H host [-s server] [-a expected-address] [-A] [-t timeout]\n"
" %s --help\n"
" %s --version\n"
msgstr ""
msgid "Arguments to check_dummy must be an integer\n"
msgstr ""
-#: plugins/check_dummy.c:91
+#: plugins/check_dummy.c:61 plugins/check_http.c:680 plugins/check_procs.c:265
+msgid "WARNING"
+msgstr ""
+
+#: plugins/check_dummy.c:64 plugins/check_http.c:682 plugins/check_procs.c:270
+msgid "CRITICAL"
+msgstr ""
+
+#: plugins/check_dummy.c:67 plugins/check_http.c:676
+msgid "UNKNOWN"
+msgstr ""
+
+#: plugins/check_dummy.c:70
+#, c-format
+msgid "Status %d is not a supported error state\n"
+msgstr ""
+
+#: plugins/check_dummy.c:96
msgid ""
"\n"
"This plugin will simply return the state corresponding to the numeric value\n"
-"of the <state> argument.\n"
+"of the <state> argument with optional text.\n"
msgstr ""
-#: plugins/check_dummy.c:103
+#: plugins/check_dummy.c:108
#, c-format
-msgid "Usage: %s <integer state>\n"
+msgid "Usage: %s <integer state> [optional text]\n"
msgstr ""
#: plugins/check_fping.c:83
msgstr ""
#: plugins/check_hpjd.c:87 plugins/check_mrtg.c:61 plugins/check_mrtgtraf.c:67
-#: plugins/check_mysql.c:51 plugins/check_real.c:69 plugins/check_smtp.c:74
-#: plugins/check_swap.c:78 plugins/check_time.c:63
+#: plugins/check_mysql.c:51 plugins/check_real.c:69 plugins/check_smtp.c:93
+#: plugins/check_swap.c:93 plugins/check_time.c:64
msgid "Invalid command arguments supplied\n"
msgstr ""
msgstr ""
#: plugins/check_hpjd.c:324 plugins/check_mysql.c:132 plugins/check_real.c:306
-#: plugins/check_smtp.c:236
+#: plugins/check_smtp.c:294
msgid "Invalid host name\n"
msgstr ""
-#: plugins/check_hpjd.c:337 plugins/check_load.c:230 plugins/check_mrtg.c:228
-#: plugins/check_mrtgtraf.c:264 plugins/check_mysql.c:154
-#: plugins/check_real.c:358 plugins/check_smtp.c:304 plugins/check_swap.c:324
+#: plugins/check_hpjd.c:337 plugins/check_load.c:230 plugins/check_mrtg.c:232
+#: plugins/check_mrtgtraf.c:262 plugins/check_mysql.c:154
+#: plugins/check_real.c:358 plugins/check_smtp.c:376 plugins/check_swap.c:423
msgid "Invalid argument\n"
msgstr ""
msgid "Usage: %s -H host [-C community]\n"
msgstr ""
-#: plugins/check_http.c:141
+#: plugins/check_http.c:142
msgid "check_http: could not parse arguments\n"
msgstr ""
-#: plugins/check_http.c:162
+#: plugins/check_http.c:163
msgid "HTTP CRITICAL - Could not make SSL connection\n"
msgstr ""
-#: plugins/check_http.c:168 plugins/check_http.c:495
+#: plugins/check_http.c:169 plugins/check_http.c:501
msgid "ERROR: Cannot retrieve server certificate.\n"
msgstr ""
-#: plugins/check_http.c:239
+#: plugins/check_http.c:242
msgid "unknown argument"
msgstr ""
-#: plugins/check_http.c:251
+#: plugins/check_http.c:254
msgid "timeout interval must be a non-negative integer"
msgstr ""
-#: plugins/check_http.c:257
+#: plugins/check_http.c:260
msgid "invalid critical threshold"
msgstr ""
-#: plugins/check_http.c:265
+#: plugins/check_http.c:268
msgid "invalid warning threshold"
msgstr ""
-#: plugins/check_http.c:279 plugins/check_http.c:294
+#: plugins/check_http.c:282 plugins/check_http.c:297
msgid "check_http: invalid option - SSL is not available\n"
msgstr ""
-#: plugins/check_http.c:288
+#: plugins/check_http.c:291
msgid "invalid certificate expiration period"
msgstr ""
-#: plugins/check_http.c:309
+#: plugins/check_http.c:312
#, c-format
msgid "option f:%d \n"
msgstr ""
-#: plugins/check_http.c:324
+#: plugins/check_http.c:327
msgid "invalid port number"
msgstr ""
-#: plugins/check_http.c:352
+#: plugins/check_http.c:358
msgid "check_http: call for regex which was not a compiled option\n"
msgstr ""
-#: plugins/check_http.c:366
+#: plugins/check_http.c:372
#, c-format
msgid "Could Not Compile Regular Expression: %s"
msgstr ""
-#: plugins/check_http.c:378 plugins/check_ldap.c:241 plugins/check_ping.c:222
-#: plugins/check_smtp.c:294 plugins/check_ssh.c:128 plugins/check_tcp.c:421
+#: plugins/check_http.c:384 plugins/check_ldap.c:241 plugins/check_ping.c:224
+#: plugins/check_smtp.c:366 plugins/check_ssh.c:128 plugins/check_tcp.c:425
msgid "IPv6 support not available\n"
msgstr ""
-#: plugins/check_http.c:400
+#: plugins/check_http.c:406
msgid "check_http: you must specify a server address or host name\n"
msgstr ""
-#: plugins/check_http.c:488 plugins/check_http.c:503
+#: plugins/check_http.c:494 plugins/check_http.c:509
msgid "Unable to open TCP socket\n"
msgstr ""
-#: plugins/check_http.c:561
+#: plugins/check_http.c:571
msgid "Client Certificate Required\n"
msgstr ""
-#: plugins/check_http.c:563 plugins/check_http.c:568
+#: plugins/check_http.c:573 plugins/check_http.c:578
msgid "Error in recv()\n"
msgstr ""
-#: plugins/check_http.c:576
+#: plugins/check_http.c:586
#, c-format
msgid "No data received %s\n"
msgstr ""
-#: plugins/check_http.c:620
+#: plugins/check_http.c:630
msgid "Invalid HTTP response received from host\n"
msgstr ""
-#: plugins/check_http.c:623
+#: plugins/check_http.c:633
#, c-format
msgid "Invalid HTTP response received from host on port %d\n"
msgstr ""
-#: plugins/check_http.c:631
+#: plugins/check_http.c:641
#, c-format
msgid "HTTP OK: Status line output matched \"%s\"\n"
msgstr ""
-#: plugins/check_http.c:643
+#: plugins/check_http.c:653
#, c-format
msgid "HTTP CRITICAL: Invalid Status Line (%s)\n"
msgstr ""
-#: plugins/check_http.c:650
+#: plugins/check_http.c:660
#, c-format
msgid "HTTP CRITICAL: Invalid Status (%s)\n"
msgstr ""
-#: plugins/check_http.c:654
+#: plugins/check_http.c:664
#, c-format
msgid "HTTP CRITICAL: %s\n"
msgstr ""
-#: plugins/check_http.c:658
+#: plugins/check_http.c:668
#, c-format
msgid "HTTP WARNING: %s\n"
msgstr ""
-#: plugins/check_http.c:666
-msgid "UNKNOWN"
-msgstr ""
-
-#: plugins/check_http.c:668 plugins/check_http.c:918 plugins/check_procs.c:249
-msgid "OK"
-msgstr ""
-
-#: plugins/check_http.c:670 plugins/check_procs.c:251
-msgid "WARNING"
-msgstr ""
-
-#: plugins/check_http.c:672 plugins/check_procs.c:256
-msgid "CRITICAL"
-msgstr ""
-
-#: plugins/check_http.c:676
+#: plugins/check_http.c:686
#, c-format
msgid " - %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:688
+#: plugins/check_http.c:698
#, c-format
msgid "HTTP problem: %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:702 plugins/check_http.c:719
+#: plugins/check_http.c:712 plugins/check_http.c:729
#, c-format
msgid "HTTP OK %s - %.3f second response time %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:709
+#: plugins/check_http.c:719
#, c-format
msgid "CRITICAL - string not found%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:727
+#: plugins/check_http.c:737
#, c-format
msgid "CRITICAL - pattern not found%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:734
+#: plugins/check_http.c:744
#, c-format
msgid "CRITICAL - Execute Error: %s\n"
msgstr ""
-#: plugins/check_http.c:744
+#: plugins/check_http.c:754
#, c-format
msgid "HTTP WARNING: page size %d too small%s|%s\n"
msgstr ""
-#: plugins/check_http.c:749
+#: plugins/check_http.c:759
#, c-format
msgid "HTTP OK %s - %d bytes in %.3f seconds %s%s|%s %s\n"
msgstr ""
-#: plugins/check_http.c:785
+#: plugins/check_http.c:795
msgid "ERROR: could not allocate addr\n"
msgstr ""
-#: plugins/check_http.c:789 plugins/check_http.c:809
+#: plugins/check_http.c:799 plugins/check_http.c:819
msgid "ERROR: could not allocate url\n"
msgstr ""
-#: plugins/check_http.c:799
+#: plugins/check_http.c:809
#, c-format
msgid "UNKNOWN - Could not find redirect location - %s%s\n"
msgstr ""
-#: plugins/check_http.c:852
+#: plugins/check_http.c:862
#, c-format
msgid "UNKNOWN - Could not parse redirect location - %s%s\n"
msgstr ""
-#: plugins/check_http.c:862
+#: plugins/check_http.c:872
#, c-format
msgid "WARNING - maximum redirection depth %d exceeded - %s://%s:%d%s%s\n"
msgstr ""
-#: plugins/check_http.c:870
+#: plugins/check_http.c:880
#, c-format
msgid "WARNING - redirection creates an infinite loop - %s://%s:%d%s%s\n"
msgstr ""
-#: plugins/check_http.c:918
+#: plugins/check_http.c:928
#, c-format
msgid "SSL seeding: %s\n"
msgstr ""
-#: plugins/check_http.c:918
+#: plugins/check_http.c:928
msgid "Failed"
msgstr ""
-#: plugins/check_http.c:925
+#: plugins/check_http.c:935
msgid "CRITICAL - Cannot create SSL context.\n"
msgstr ""
-#: plugins/check_http.c:949
+#: plugins/check_http.c:959
msgid "CRITICAL - Cannot initiate SSL handshake.\n"
msgstr ""
-#: plugins/check_http.c:977 plugins/check_http.c:989
+#: plugins/check_http.c:987 plugins/check_http.c:999
msgid "CRITICAL - Wrong time format in certificate.\n"
msgstr ""
-#: plugins/check_http.c:1018
+#: plugins/check_http.c:1028
#, c-format
msgid "WARNING - Certificate expires in %d day(s) (%s).\n"
msgstr ""
-#: plugins/check_http.c:1022
+#: plugins/check_http.c:1032
#, c-format
msgid "CRITICAL - Certificate expired on %s.\n"
msgstr ""
-#: plugins/check_http.c:1027
+#: plugins/check_http.c:1037
#, c-format
msgid "WARNING - Certificate expires today (%s).\n"
msgstr ""
-#: plugins/check_http.c:1031
+#: plugins/check_http.c:1041
#, c-format
msgid "OK - Certificate will expire on %s.\n"
msgstr ""
-#: plugins/check_http.c:1106
+#: plugins/check_http.c:1116
msgid ""
"This plugin tests the HTTP service on the specified host. It can test\n"
"normal (http) and secure (https) servers, follow redirects, search for\n"
"certificate expiration times.\n"
msgstr ""
-#: plugins/check_http.c:1114
+#: plugins/check_http.c:1124
msgid "NOTE: One or both of -H and -I must be specified\n"
msgstr ""
-#: plugins/check_http.c:1118
+#: plugins/check_http.c:1128
#, fuzzy, c-format
msgid ""
" -H, --hostname=ADDRESS\n"
" -6, --use-ipv6\n"
" Use IPv6 connection\n"
-#: plugins/check_http.c:1129
+#: plugins/check_http.c:1139
msgid ""
" -S, --ssl\n"
" Connect via SSL\n"
" (when this option is used the url is not checked.)\n"
msgstr ""
-#: plugins/check_http.c:1137
+#: plugins/check_http.c:1147
#, c-format
msgid ""
" -e, --expect=STRING\n"
" URL to GET or POST (default: /)\n"
" -P, --post=STRING\n"
" URL encoded http POST data\n"
+" -T, --content-type=STRING\n"
+" specify Content-Type header media type when POSTing\n"
msgstr ""
-#: plugins/check_http.c:1149
+#: plugins/check_http.c:1161
msgid ""
" -l, --linespan\n"
" Allow regex to span newlines (must precede -r or -R)\n"
" Search page for case-insensitive regex STRING\n"
msgstr ""
-#: plugins/check_http.c:1158
+#: plugins/check_http.c:1170
msgid ""
" -a, --authorization=AUTH_PAIR\n"
" Username:password on sites with basic authentication\n"
" Minimum page size required (bytes)\n"
msgstr ""
-#: plugins/check_http.c:1174
+#: plugins/check_http.c:1186
msgid ""
"This plugin will attempt to open an HTTP connection with the host. "
"Successful\n"
"(fully qualified domain name) as the [host_name] argument.\n"
msgstr ""
-#: plugins/check_http.c:1183
+#: plugins/check_http.c:1195
msgid ""
"\n"
"This plugin can also check whether an SSL enabled web server is able to\n"
"certificate is still valid for the specified number of days.\n"
msgstr ""
-#: plugins/check_http.c:1187
+#: plugins/check_http.c:1199
msgid ""
"\n"
"CHECK CONTENT: check_http -w 5 -c 10 --ssl www.verisign.com\n"
"\n"
msgstr ""
-#: plugins/check_http.c:1194
+#: plugins/check_http.c:1206
msgid ""
"CHECK CERTIFICATE: check_http www.verisign.com -C 14\n"
"\n"
"the certificate is expired.\n"
msgstr ""
-#: plugins/check_http.c:1212
+#: plugins/check_http.c:1224
#, c-format
msgid ""
"Usage: %s (-H <vhost> | -I <IP-address>) [-u <uri>] [-p <port>]\n"
msgid "Unable to process MRTG log file\n"
msgstr ""
-#: plugins/check_mrtg.c:123 plugins/check_mrtgtraf.c:121
+#: plugins/check_mrtg.c:123 plugins/check_mrtgtraf.c:120
#, c-format
msgid "MRTG data has expired (%d minutes old)\n"
msgstr ""
-#: plugins/check_mrtg.c:143
-msgid "Ave"
+#: plugins/check_mrtg.c:141 plugins/check_mrtgtraf.c:179
+#: plugins/check_mrtgtraf.c:180
+msgid "Avg"
msgstr ""
-#: plugins/check_mrtg.c:143 plugins/check_mrtgtraf.c:175
-#: plugins/check_mrtgtraf.c:183 plugins/check_mrtgtraf.c:184
-#: plugins/check_mrtgtraf.c:189 plugins/check_mrtgtraf.c:190
+#: plugins/check_mrtg.c:141 plugins/check_mrtgtraf.c:179
+#: plugins/check_mrtgtraf.c:180
msgid "Max"
msgstr ""
-#: plugins/check_mrtg.c:207 plugins/check_mrtg.c:259
+#: plugins/check_mrtg.c:211 plugins/check_mrtg.c:263
msgid "Invalid variable number\n"
msgstr ""
-#: plugins/check_mrtg.c:242
+#: plugins/check_mrtg.c:246
#, c-format
msgid ""
"%s is not a valid expiration time\n"
"Use '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_mrtg.c:286
+#: plugins/check_mrtg.c:290
msgid "You must supply the variable number\n"
msgstr ""
-#: plugins/check_mrtg.c:310
+#: plugins/check_mrtg.c:314
msgid ""
"This plugin will check either the average or maximum value of one of the\n"
"two variables recorded in an MRTG log file.\n"
msgstr ""
-#: plugins/check_mrtg.c:318
+#: plugins/check_mrtg.c:322
msgid ""
" -F, --logfile=FILE\n"
" The MRTG log file containing the data you want to monitor\n"
" Threshold value for data to result in CRITICAL status\n"
msgstr ""
-#: plugins/check_mrtg.c:332
+#: plugins/check_mrtg.c:336
#, c-format
msgid ""
" -l, --label=STRING\n"
" \"Bytes Per Second\", \"%% Utilization\")\n"
msgstr ""
-#: plugins/check_mrtg.c:339
+#: plugins/check_mrtg.c:343
msgid ""
"If the value exceeds the <vwl> threshold, a WARNING status is returned. If\n"
"the value exceeds the <vcl> threshold, a CRITICAL status is returned. If\n"
"\n"
msgstr ""
-#: plugins/check_mrtg.c:345
+#: plugins/check_mrtg.c:349
msgid ""
"This plugin is useful for monitoring MRTG data that does not correspond to\n"
"bandwidth usage. (Use the check_mrtgtraf plugin for monitoring bandwidth).\n"
"\n"
msgstr ""
-#: plugins/check_mrtg.c:352
+#: plugins/check_mrtg.c:356
msgid ""
"Notes:\n"
"- This plugin only monitors one of the two variables stored in the MRTG log\n"
" http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html\n"
msgstr ""
-#: plugins/check_mrtg.c:372
+#: plugins/check_mrtg.c:376
#, c-format
msgid ""
"Usage: %s -F log_file -a <AVG | MAX> -v variable -w warning -c critical\n"
" [-l label] [-u units] [-e expire_minutes] [-t timeout] [-v]\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:174
+#: plugins/check_mrtgtraf.c:178
#, c-format
-msgid "Traffic CRITICAL %s. In = %0.1f %s, %s. Out = %0.1f %s"
+msgid "%s. In = %0.1f %s, %s. Out = %0.1f %s|%s %s\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:175 plugins/check_mrtgtraf.c:183
-#: plugins/check_mrtgtraf.c:184 plugins/check_mrtgtraf.c:189
-#: plugins/check_mrtgtraf.c:190
-msgid "Avg"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:182
-#, c-format
-msgid "Traffic WARNING %s. In = %0.1f %s, %s. Out = %0.1f %s"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:188
+#: plugins/check_mrtgtraf.c:191
#, c-format
-msgid "Traffic OK - %s. In = %0.1f %s, %s. Out = %0.1f %s\n"
+msgid "Traffic %s - %s\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:193
-#, c-format
-msgid "UNKNOWN %s\n"
-msgstr ""
-
-#: plugins/check_mrtgtraf.c:332
+#: plugins/check_mrtgtraf.c:330
msgid ""
" -F, --filename=STRING\n"
" File to read log from\n"
" Critical threshold pair \"<incoming>,<outgoing>\"\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:344
+#: plugins/check_mrtgtraf.c:342
msgid ""
"\n"
"This plugin will check the incoming/outgoing transfer rates of a router,\n"
"\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:352
+#: plugins/check_mrtgtraf.c:350
msgid ""
"Notes:\n"
"- MRTG stands for Multi Router Traffic Grapher. It can be downloaded from\n"
" for future enhancements of this plugin.\n"
msgstr ""
-#: plugins/check_mrtgtraf.c:370
+#: plugins/check_mrtgtraf.c:368
#, c-format
msgid ""
"Usage: %s -F <log_file> -a <AVG | MAX> -v <variable> -w <warning_pair> -c "
msgid "Usage: %s [-d database] [-H host] [-P port] [-u user] [-p password]\n"
msgstr ""
-#: plugins/check_nagios.c:78
+#: plugins/check_nagios.c:81
msgid "Error: Cannot open status log for reading!\n"
msgstr ""
-#: plugins/check_nagios.c:116
+#: plugins/check_nagios.c:138
#, c-format
-msgid "Found process: %s\n"
+msgid "Found process: %s %s\n"
msgstr ""
-#: plugins/check_nagios.c:136
+#: plugins/check_nagios.c:159
msgid "Could not locate a running Nagios process!\n"
msgstr ""
-#: plugins/check_nagios.c:147
+#: plugins/check_nagios.c:170
#, c-format
msgid "Nagios %s: located %d process%s, status log updated %d second%s ago\n"
msgstr ""
-#: plugins/check_nagios.c:186 plugins/check_nagios.c:220
+#: plugins/check_nagios.c:209 plugins/check_nagios.c:243
#, c-format
msgid ""
"Expiration time must be an integer (seconds)\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:200
+#: plugins/check_nagios.c:223
#, c-format
msgid ""
"%s: Unknown argument: %c\n"
"\n"
msgstr ""
-#: plugins/check_nagios.c:232
+#: plugins/check_nagios.c:255
#, c-format
msgid ""
"You must provide the status_log\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:236
+#: plugins/check_nagios.c:259
#, c-format
msgid ""
"You must provide a process string\n"
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nagios.c:254
+#: plugins/check_nagios.c:277
msgid ""
"This plugin attempts to check the status of the Nagios process on the local\n"
"machine. The plugin will check to make sure the Nagios status log is no "
"by the <process_string> argument.\n"
msgstr ""
-#: plugins/check_nagios.c:265
+#: plugins/check_nagios.c:288
msgid ""
"-F, --filename=FILE\n"
" Name of the log file to check\n"
" Command to search for in process table\n"
msgstr ""
-#: plugins/check_nagios.c:273
+#: plugins/check_nagios.c:296
msgid ""
"Example:\n"
" ./check_nagios -e 5 \\ -F /usr/local/nagios/var/status.log \\ -C /usr/"
"local/nagios/bin/nagios\n"
msgstr ""
-#: plugins/check_nagios.c:286
+#: plugins/check_nagios.c:309
#, c-format
msgid ""
"Usage: %s -F <status log file> -e <expire_minutes> -C <process_string>\n"
msgstr ""
-#: plugins/check_nt.c:118
+#: plugins/check_nt.c:127
#, c-format
msgid "Wrong client version - running: %s, required: %s"
msgstr ""
-#: plugins/check_nt.c:129 plugins/check_nt.c:182
+#: plugins/check_nt.c:138 plugins/check_nt.c:198
msgid "missing -l parameters"
msgstr ""
-#: plugins/check_nt.c:131
+#: plugins/check_nt.c:140
msgid "wrong -l parameter."
msgstr ""
-#: plugins/check_nt.c:135
+#: plugins/check_nt.c:144
msgid "CPU Load"
msgstr ""
-#: plugins/check_nt.c:156
+#: plugins/check_nt.c:145
+msgid " "
+msgstr ""
+
+#: plugins/check_nt.c:167
#, c-format
msgid " %lu%% (%lu min average)"
msgstr ""
-#: plugins/check_nt.c:163
+#: plugins/check_nt.c:169
+#, c-format
+msgid " '%lu min avg Load'=%lu%%;%lu;%lu;0;100"
+msgstr ""
+
+#: plugins/check_nt.c:179
msgid "not enough values for -l parameters"
msgstr ""
-#: plugins/check_nt.c:175
+#: plugins/check_nt.c:191
#, c-format
msgid "System Uptime : %u day(s) %u hour(s) %u minute(s)"
msgstr ""
-#: plugins/check_nt.c:184
+#: plugins/check_nt.c:200
msgid "wrong -l argument"
msgstr ""
-#: plugins/check_nt.c:193
+#: plugins/check_nt.c:211
#, c-format
msgid "%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"
msgstr ""
-#: plugins/check_nt.c:208
+#: plugins/check_nt.c:214
+#, c-format
+msgid "'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"
+msgstr ""
+
+#: plugins/check_nt.c:228
msgid "Free disk space : Invalid drive "
msgstr ""
-#: plugins/check_nt.c:218
+#: plugins/check_nt.c:238
msgid "No service/process specified"
msgstr ""
-#: plugins/check_nt.c:222
+#: plugins/check_nt.c:242
msgid "ShowAll"
msgstr ""
-#: plugins/check_nt.c:222
+#: plugins/check_nt.c:242
msgid "ShowFail"
msgstr ""
-#: plugins/check_nt.c:237
+#: plugins/check_nt.c:262
#, c-format
msgid ""
"Memory usage: total:%.2f Mb - used: %.2f Mb (%.0f%%) - free: %.2f Mb (%.0f%%)"
msgstr ""
-#: plugins/check_nt.c:253 plugins/check_nt.c:289
+#: plugins/check_nt.c:265
+#, c-format
+msgid "'Memory usage'=%.2fMb;%.2f;%.2f;0.00;%.2f"
+msgstr ""
+
+#: plugins/check_nt.c:301 plugins/check_nt.c:383
msgid "No counter specified"
msgstr ""
#: plugins/check_nt.c:319
+msgid "%"
+msgstr ""
+
+#: plugins/check_nt.c:334
+msgid "Minimum value contains non-numbers"
+msgstr ""
+
+#: plugins/check_nt.c:338
+msgid "Maximum value contains non-numbers"
+msgstr ""
+
+#: plugins/check_nt.c:345
+msgid "No unit counter specified"
+msgstr ""
+
+#: plugins/check_nt.c:413
msgid "Please specify a variable to check"
msgstr ""
-#: plugins/check_nt.c:404 plugins/check_nwstat.c:775
+#: plugins/check_nt.c:500 plugins/check_nwstat.c:781
#: plugins/check_overcr.c:352
#, c-format
msgid ""
"Type '%s -h' for additional help\n"
msgstr ""
-#: plugins/check_nt.c:457
+#: plugins/check_nt.c:553
msgid "None"
msgstr ""
-#: plugins/check_nt.c:516
+#: plugins/check_nt.c:612
msgid ""
"Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n"
"\n"
"\n"
msgstr ""
-#: plugins/check_nt.c:521
+#: plugins/check_nt.c:617
#, c-format
msgid ""
"\n"
" Print version information\n"
msgstr ""
-#: plugins/check_nt.c:539
+#: plugins/check_nt.c:635
msgid ""
"-v, --variable=STRING\n"
" Variable to check. Valid variables are:\n"
msgstr ""
-#: plugins/check_nt.c:542
+#: plugins/check_nt.c:638
msgid ""
" CLIENTVERSION = Get the NSClient version\n"
" If -l <version> is specified, will return warning if versions differ.\n"
msgstr ""
-#: plugins/check_nt.c:545
+#: plugins/check_nt.c:641
msgid ""
" CPULOAD = Average CPU load on last x minutes.\n"
" Request a -l parameter with the following syntax:\n"
" ie: -l 60,90,95,120,90,95\n"
msgstr ""
-#: plugins/check_nt.c:552
+#: plugins/check_nt.c:648
msgid ""
" UPTIME = Get the uptime of the machine.\n"
" No specific parameters. No warning or critical threshold\n"
msgstr ""
-#: plugins/check_nt.c:555
+#: plugins/check_nt.c:651
msgid ""
" USEDDISKSPACE = Size and percentage of disk use.\n"
" Request a -l parameter containing the drive letter only.\n"
" Warning and critical thresholds can be specified with -w and -c.\n"
msgstr ""
-#: plugins/check_nt.c:559
+#: plugins/check_nt.c:655
msgid ""
" MEMUSE = Memory use.\n"
" Warning and critical thresholds can be specified with -w and -c.\n"
msgstr ""
-#: plugins/check_nt.c:562
+#: plugins/check_nt.c:658
msgid ""
" SERVICESTATE = Check the state of one or several services.\n"
" Request a -l parameters with the following syntax:\n"
"\t\t in the returned string.\n"
msgstr ""
-#: plugins/check_nt.c:568
+#: plugins/check_nt.c:664
msgid ""
" PROCSTATE = Check if one or several process are running.\n"
" Same syntax as SERVICESTATE.\n"
msgstr ""
-#: plugins/check_nt.c:571
+#: plugins/check_nt.c:667
#, c-format
msgid ""
" COUNTER = Check any performance counter of Windows NT/2000.\n"
" \"%%.f %%%% paging file used.\"\n"
msgstr ""
-#: plugins/check_nt.c:580
+#: plugins/check_nt.c:676
msgid ""
"Notes:\n"
" - The NSClient service should be running on the server to get any "
" - Critical thresholds should be lower than warning thresholds\n"
msgstr ""
-#: plugins/check_nt.c:591
+#: plugins/check_nt.c:687
#, c-format
msgid ""
"Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\n"
" [-l params] [-d SHOWALL] [-t timeout]\n"
msgstr ""
-#: plugins/check_nwstat.c:143
+#: plugins/check_nwstat.c:147
#, c-format
msgid "NetWare %s: "
msgstr ""
-#: plugins/check_nwstat.c:174
+#: plugins/check_nwstat.c:178
#, c-format
msgid "Up %s,"
msgstr ""
-#: plugins/check_nwstat.c:182
+#: plugins/check_nwstat.c:186
#, c-format
msgid "Load %s - %s %s-min load average = %lu%%"
msgstr ""
-#: plugins/check_nwstat.c:203
+#: plugins/check_nwstat.c:207
#, c-format
msgid "Conns %s - %lu current connections"
msgstr ""
-#: plugins/check_nwstat.c:222
+#: plugins/check_nwstat.c:226
#, c-format
msgid "%s: Long term cache hits = %lu%%"
msgstr ""
-#: plugins/check_nwstat.c:241
+#: plugins/check_nwstat.c:245
#, c-format
msgid "%s: Total cache buffers = %lu"
msgstr ""
-#: plugins/check_nwstat.c:260
+#: plugins/check_nwstat.c:264
#, c-format
msgid "%s: Dirty cache buffers = %lu"
msgstr ""
-#: plugins/check_nwstat.c:279
+#: plugins/check_nwstat.c:283
#, c-format
msgid "%s: LRU sitting time = %lu minutes"
msgstr ""
-#: plugins/check_nwstat.c:293 plugins/check_nwstat.c:318
-#: plugins/check_nwstat.c:438 plugins/check_nwstat.c:459
-#: plugins/check_nwstat.c:491 plugins/check_nwstat.c:512
+#: plugins/check_nwstat.c:297 plugins/check_nwstat.c:322
+#: plugins/check_nwstat.c:442 plugins/check_nwstat.c:463
+#: plugins/check_nwstat.c:495 plugins/check_nwstat.c:516
#, c-format
msgid "Error: Volume '%s' does not exist!"
msgstr ""
-#: plugins/check_nwstat.c:302
+#: plugins/check_nwstat.c:306
#, c-format
msgid "%s%lu KB free on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:303 plugins/check_nwstat.c:446
-#: plugins/check_nwstat.c:499
+#: plugins/check_nwstat.c:307 plugins/check_nwstat.c:450
+#: plugins/check_nwstat.c:503
msgid "Only "
msgstr ""
-#: plugins/check_nwstat.c:338
+#: plugins/check_nwstat.c:342
#, c-format
msgid "%lu MB (%lu%%) free on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:357
+#: plugins/check_nwstat.c:361
#, c-format
msgid "Directory Services Database is %s (DS version %s)"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
#, c-format
msgid "Logins are %s"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
msgid "enabled"
msgstr ""
-#: plugins/check_nwstat.c:371
+#: plugins/check_nwstat.c:375
msgid "disabled"
msgstr ""
-#: plugins/check_nwstat.c:404
+#: plugins/check_nwstat.c:408
#, c-format
msgid "%lu of %lu (%lu%%) packet receive buffers used"
msgstr ""
-#: plugins/check_nwstat.c:425
+#: plugins/check_nwstat.c:429
#, c-format
msgid "%lu entries in SAP table"
msgstr ""
-#: plugins/check_nwstat.c:427
+#: plugins/check_nwstat.c:431
#, c-format
msgid "%lu entries in SAP table for SAP type %d"
msgstr ""
-#: plugins/check_nwstat.c:446
+#: plugins/check_nwstat.c:450
#, c-format
msgid "%s%lu KB purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:479
+#: plugins/check_nwstat.c:483
#, c-format
msgid "%lu MB (%lu%%) purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:499
+#: plugins/check_nwstat.c:503
#, c-format
msgid "%s%lu KB not yet purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:532
+#: plugins/check_nwstat.c:536
#, c-format
msgid "%lu MB (%lu%%) not yet purgeable on volume %s"
msgstr ""
-#: plugins/check_nwstat.c:550
+#: plugins/check_nwstat.c:554
#, c-format
msgid "%lu open files"
msgstr ""
-#: plugins/check_nwstat.c:567
+#: plugins/check_nwstat.c:571
#, c-format
msgid "%lu abended threads"
msgstr ""
-#: plugins/check_nwstat.c:592
+#: plugins/check_nwstat.c:596
#, c-format
msgid "%lu current service processes (%lu max)"
msgstr ""
-#: plugins/check_nwstat.c:608
+#: plugins/check_nwstat.c:612
msgid "Critical: Time not in sync with network!"
msgstr ""
-#: plugins/check_nwstat.c:611
+#: plugins/check_nwstat.c:615
msgid "OK! Time in sync with network!"
msgstr ""
-#: plugins/check_nwstat.c:627
+#: plugins/check_nwstat.c:631
#, c-format
msgid "LRU sitting time = %lu seconds"
msgstr ""
-#: plugins/check_nwstat.c:643
+#: plugins/check_nwstat.c:647
#, c-format
msgid "dirty cache buffers = %lu%% of the total"
msgstr ""
-#: plugins/check_nwstat.c:658
+#: plugins/check_nwstat.c:662
#, c-format
msgid "total cache buffers = %lu%% of the original"
msgstr ""
-#: plugins/check_nwstat.c:668
+#: plugins/check_nwstat.c:672
#, c-format
msgid "NDS Version %s"
msgstr ""
-#: plugins/check_nwstat.c:677
+#: plugins/check_nwstat.c:681
#, c-format
msgid "Up %s"
msgstr ""
-#: plugins/check_nwstat.c:687
+#: plugins/check_nwstat.c:691
#, c-format
msgid "Module %s version %s is loaded"
msgstr ""
-#: plugins/check_nwstat.c:690
+#: plugins/check_nwstat.c:694
#, c-format
msgid "Module %s is not loaded"
msgstr ""
-#: plugins/check_nwstat.c:695 plugins/check_overcr.c:270
+#: plugins/check_nwstat.c:699 plugins/check_overcr.c:270
msgid "Nothing to check!\n"
msgstr ""
-#: plugins/check_nwstat.c:906
+#: plugins/check_nwstat.c:912
#, c-format
msgid ""
"Usage: %s This plugin attempts to contact the MRTGEXT NLM running\n"
"\n"
msgstr ""
-#: plugins/check_nwstat.c:917
+#: plugins/check_nwstat.c:923
msgid ""
" -v, --variable=STRING\n"
" Variable to check. Valid variables include:\n"
" UPTIME = server uptime\n"
msgstr ""
-#: plugins/check_nwstat.c:927
+#: plugins/check_nwstat.c:933
msgid ""
" LTCH = percent long term cache hits\n"
" CBUFF = current number of cache buffers\n"
" TCB = dirty cache buffers as a percentage of the original\n"
msgstr ""
-#: plugins/check_nwstat.c:934
+#: plugins/check_nwstat.c:940
msgid ""
" OFILES = number of open files\n"
" VPF<vol> = percent free space on volume <vol>\n"
" VKNP<vol> = KB of not yet purgeable space on volume <vol>\n"
msgstr ""
-#: plugins/check_nwstat.c:943
+#: plugins/check_nwstat.c:949
msgid ""
" LRUM = LRU sitting time in minutes\n"
" LRUS = LRU sitting time in seconds\n"
" SAPENTRIES<n> = number of entries in the SAP table for SAP type <n>\n"
msgstr ""
-#: plugins/check_nwstat.c:953
+#: plugins/check_nwstat.c:959
msgid ""
" TSYNC = timesync status \n"
" LOGINS = check to see if logins are enabled\n"
" (e.g. \"NLM:TSANDS.NLM\")\n"
msgstr ""
-#: plugins/check_nwstat.c:960
+#: plugins/check_nwstat.c:966
msgid ""
" -w, --warning=INTEGER\n"
" Threshold which will result in a warning status\n"
" Include server version string in results\n"
msgstr ""
-#: plugins/check_nwstat.c:970
+#: plugins/check_nwstat.c:976
msgid ""
"\n"
"Notes:\n"
" TCB, LRUS and LRUM.\n"
msgstr ""
-#: plugins/check_nwstat.c:987
+#: plugins/check_nwstat.c:993
#, c-format
msgid ""
"Usage: %s -H host [-p port] [-v variable] [-w warning] [-c critical]\n"
msgid "PGSQL: CRITICAL - no connection to '%s' (%s).\n"
msgstr ""
-#: plugins/check_pgsql.c:161
+#: plugins/check_pgsql.c:169
#, c-format
-msgid "PGSQL: CRITICAL - database %s (%d sec.)\n"
+msgid "PGSQL: %s - database %s (%d sec.)|%s\n"
msgstr ""
-#: plugins/check_pgsql.c:167
-#, c-format
-msgid "PGSQL: WARNING - database %s (%d sec.)\n"
-msgstr ""
-
-#: plugins/check_pgsql.c:172
-#, c-format
-msgid "PGSQL: ok - database %s (%d sec.)\n"
-msgstr ""
-
-#: plugins/check_pgsql.c:220 plugins/check_snmp.c:449 plugins/negate.c:183
+#: plugins/check_pgsql.c:219 plugins/check_snmp.c:449 plugins/negate.c:183
msgid "Timeout Interval must be an integer"
msgstr ""
-#: plugins/check_pgsql.c:226 plugins/check_pgsql.c:232
+#: plugins/check_pgsql.c:225 plugins/check_pgsql.c:231
msgid "Invalid critical threshold"
msgstr ""
-#: plugins/check_pgsql.c:238
+#: plugins/check_pgsql.c:237
msgid "You gave an invalid host name"
msgstr ""
-#: plugins/check_pgsql.c:244
+#: plugins/check_pgsql.c:243
msgid "Port must be an integer"
msgstr ""
-#: plugins/check_pgsql.c:250
+#: plugins/check_pgsql.c:249
msgid "Database name is not valid"
msgstr ""
-#: plugins/check_pgsql.c:256
+#: plugins/check_pgsql.c:255
msgid "user name is not valid"
msgstr ""
-#: plugins/check_pgsql.c:390
+#: plugins/check_pgsql.c:389
msgid ""
"Test whether a PostgreSQL DBMS is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:80
+#: plugins/check_ping.c:82
msgid "Could not parse arguments"
msgstr ""
-#: plugins/check_ping.c:123
+#: plugins/check_ping.c:124
msgid "Error: Could not interpret output from ping command\n"
msgstr ""
-#: plugins/check_ping.c:139
+#: plugins/check_ping.c:140
#, c-format
msgid "PING %s - %sPacket loss = %d%%"
msgstr ""
-#: plugins/check_ping.c:142
+#: plugins/check_ping.c:143
#, c-format
msgid "PING %s - %sPacket loss = %d%%, RTA = %2.2f ms"
msgstr ""
-#: plugins/check_ping.c:233
+#: plugins/check_ping.c:235
msgid "Could not realloc() addresses\n"
msgstr ""
-#: plugins/check_ping.c:248 plugins/check_ping.c:328
+#: plugins/check_ping.c:250 plugins/check_ping.c:331
#, c-format
msgid "<max_packets> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:271
+#: plugins/check_ping.c:273
#, c-format
msgid ""
"Invalid host name/address: %s\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:282
+#: plugins/check_ping.c:285
#, c-format
msgid "<wpl> (%s) must be an integer percentage\n"
msgstr ""
-#: plugins/check_ping.c:293
+#: plugins/check_ping.c:296
#, c-format
msgid "<cpl> (%s) must be an integer percentage\n"
msgstr ""
-#: plugins/check_ping.c:304
+#: plugins/check_ping.c:307
#, c-format
msgid "<wrta> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:315
+#: plugins/check_ping.c:318
#, c-format
msgid "<crta> (%s) must be a non-negative number\n"
msgstr ""
-#: plugins/check_ping.c:346
+#: plugins/check_ping.c:349
#, c-format
msgid ""
"%s: Warning threshold must be integer or percentage!\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:357
+#: plugins/check_ping.c:360
msgid "<wrta> was not set\n"
msgstr ""
-#: plugins/check_ping.c:361
+#: plugins/check_ping.c:364
msgid "<crta> was not set\n"
msgstr ""
-#: plugins/check_ping.c:365
+#: plugins/check_ping.c:368
msgid "<wpl> was not set\n"
msgstr ""
-#: plugins/check_ping.c:369
+#: plugins/check_ping.c:372
msgid "<cpl> was not set\n"
msgstr ""
-#: plugins/check_ping.c:373
+#: plugins/check_ping.c:376
#, c-format
msgid "<wrta> (%f) cannot be larger than <crta> (%f)\n"
msgstr ""
-#: plugins/check_ping.c:377
+#: plugins/check_ping.c:380
#, c-format
msgid "<wpl> (%d) cannot be larger than <cpl> (%d)\n"
msgstr ""
-#: plugins/check_ping.c:390
+#: plugins/check_ping.c:393
msgid "Invalid host name/address"
msgstr ""
-#: plugins/check_ping.c:408
+#: plugins/check_ping.c:411
#, c-format
msgid "Cannot open pipe: %s"
msgstr ""
-#: plugins/check_ping.c:412
+#: plugins/check_ping.c:415
#, c-format
msgid "Cannot open stderr for %s\n"
msgstr ""
-#: plugins/check_ping.c:468
+#: plugins/check_ping.c:471
#, c-format
msgid "PING CRITICAL - Network unreachable (%s)"
msgstr ""
-#: plugins/check_ping.c:470
+#: plugins/check_ping.c:473
#, c-format
msgid "PING CRITICAL - Host Unreachable (%s)"
msgstr ""
-#: plugins/check_ping.c:472
+#: plugins/check_ping.c:475
#, c-format
msgid "PING CRITICAL - Host not found (%s)"
msgstr ""
-#: plugins/check_ping.c:479
+#: plugins/check_ping.c:482
msgid "unable to realloc warn_text"
msgstr ""
-#: plugins/check_ping.c:505 plugins/check_procs.c:586
+#: plugins/check_ping.c:508 plugins/check_procs.c:582
msgid "Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>"
msgstr ""
-#: plugins/check_ping.c:508
+#: plugins/check_ping.c:511
msgid ""
"Use ping to check connection statistics for a remote host.\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:516
+#: plugins/check_ping.c:519
#, c-format
msgid ""
"-H, --hostname=HOST\n"
" show HTML in the plugin output (obsoleted by urlize)\n"
msgstr ""
-#: plugins/check_ping.c:531
+#: plugins/check_ping.c:534
#, c-format
msgid ""
"THRESHOLD is <rta>,<pl>%% where <rta> is the round trip average travel\n"
"\n"
msgstr ""
-#: plugins/check_ping.c:536
+#: plugins/check_ping.c:539
msgid ""
"This plugin uses the ping command to probe the specified host for packet "
"loss\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:116
+#: plugins/check_procs.c:120
msgid "Unable to parse command line\n"
msgstr ""
-#: plugins/check_procs.c:119
+#: plugins/check_procs.c:123
#, c-format
msgid "CMD: %s\n"
msgstr ""
-#: plugins/check_procs.c:215
+#: plugins/check_procs.c:229
#, c-format
msgid "Not parseable: %s"
msgstr ""
-#: plugins/check_procs.c:222
+#: plugins/check_procs.c:236
#, c-format
msgid "STDERR: %s"
msgstr ""
-#: plugins/check_procs.c:224
+#: plugins/check_procs.c:238
msgid "System call sent warnings to stderr\n"
msgstr ""
-#: plugins/check_procs.c:231
+#: plugins/check_procs.c:245
msgid "System call returned nonzero status\n"
msgstr ""
-#: plugins/check_procs.c:236 plugins/check_users.c:96
+#: plugins/check_procs.c:250 plugins/check_users.c:99
msgid "Unable to read output\n"
msgstr ""
-#: plugins/check_procs.c:253
+#: plugins/check_procs.c:267
#, c-format
msgid "%d warn out of "
msgstr ""
-#: plugins/check_procs.c:258
+#: plugins/check_procs.c:272
#, c-format
msgid "%d crit, %d warn out of "
msgstr ""
-#: plugins/check_procs.c:261
+#: plugins/check_procs.c:275
#, c-format
msgid "%d process"
msgid_plural "%d processes"
msgstr[0] ""
msgstr[1] ""
-#: plugins/check_procs.c:264
+#: plugins/check_procs.c:278
#, c-format
msgid " with %s"
msgstr ""
-#: plugins/check_procs.c:328 plugins/check_ssh.c:117
+#: plugins/check_procs.c:342 plugins/check_ssh.c:117
msgid ""
"Timeout Interval must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:342
+#: plugins/check_procs.c:356
msgid ""
"Critical Process Count must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:354
-#, c-format
+#: plugins/check_procs.c:368
msgid ""
-"%s: Warning Process Count must be an integer!\n"
+"Warning Process Count must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:362
+#: plugins/check_procs.c:376
#, c-format
msgid ""
"%s: Parent Process ID must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:371 plugins/check_procs.c:484
+#: plugins/check_procs.c:382 plugins/check_procs.c:480
#, c-format
msgid "%s%sSTATE = %s"
msgstr ""
-#: plugins/check_procs.c:380
+#: plugins/check_procs.c:391
#, c-format
-msgid "UID %d was not found\n"
+msgid "UID %s was not found\n"
msgstr ""
-#: plugins/check_procs.c:389
+#: plugins/check_procs.c:397
#, c-format
msgid "User name %s was not found\n"
msgstr ""
-#: plugins/check_procs.c:397
+#: plugins/check_procs.c:402
#, c-format
msgid "%s%sUID = %d (%s)"
msgstr ""
-#: plugins/check_procs.c:406
+#: plugins/check_procs.c:411
#, c-format
msgid "%s%scommand name '%s'"
msgstr ""
-#: plugins/check_procs.c:415
+#: plugins/check_procs.c:420
#, c-format
msgid "%s%sargs '%s'"
msgstr ""
-#: plugins/check_procs.c:420
+#: plugins/check_procs.c:425
#, c-format
msgid "%s%sRSS >= %d"
msgstr ""
-#: plugins/check_procs.c:424
+#: plugins/check_procs.c:429
#, c-format
msgid ""
"%s: RSS must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:430
+#: plugins/check_procs.c:432
#, c-format
msgid "%s%sVSZ >= %d"
msgstr ""
-#: plugins/check_procs.c:434
+#: plugins/check_procs.c:436
#, c-format
msgid ""
"%s: VSZ must be an integer!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:441
+#: plugins/check_procs.c:440
#, c-format
msgid "%s%sPCPU >= %.2f"
msgstr ""
-#: plugins/check_procs.c:445
+#: plugins/check_procs.c:444
#, c-format
msgid ""
"%s: PCPU must be a float!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:467
+#: plugins/check_procs.c:463
#, c-format
msgid ""
"%s: metric must be one of PROCS, VSZ, RSS, CPU!\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:504
+#: plugins/check_procs.c:500
#, c-format
msgid "wmax (%d) cannot be greater than cmax (%d)\n"
msgstr ""
-#: plugins/check_procs.c:508
+#: plugins/check_procs.c:504
#, c-format
msgid "wmin (%d) cannot be less than cmin (%d)\n"
msgstr ""
-#: plugins/check_procs.c:589
+#: plugins/check_procs.c:585
msgid ""
"Checks all processes and generates WARNING or CRITICAL states if the "
"specified\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:596
+#: plugins/check_procs.c:592
msgid ""
"\n"
"Required Arguments:\n"
" Generate critical state if metric is outside this range\n"
msgstr ""
-#: plugins/check_procs.c:603
+#: plugins/check_procs.c:599
msgid ""
"\n"
"Optional Arguments:\n"
" Extra information. Up to 3 verbosity levels\n"
msgstr ""
-#: plugins/check_procs.c:614
+#: plugins/check_procs.c:610
msgid ""
"\n"
"Optional Filters:\n"
" Only scan for processes with rss higher than indicated.\n"
msgstr ""
-#: plugins/check_procs.c:627
+#: plugins/check_procs.c:623
msgid ""
" -P, --pcpu=PCPU\n"
" Only scan for processes with pcpu higher than indicated.\n"
" Only scan for exact matches of COMMAND (without path).\n"
msgstr ""
-#: plugins/check_procs.c:637
+#: plugins/check_procs.c:633
msgid ""
"\n"
"RANGEs are specified 'min:max' or 'min:' or ':max' (or 'max'). If\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:642
+#: plugins/check_procs.c:638
msgid ""
"This plugin checks the number of currently running processes and\n"
"generates WARNING or CRITICAL states if the process count is outside\n"
"\n"
msgstr ""
-#: plugins/check_procs.c:649
+#: plugins/check_procs.c:645
msgid ""
"Examples:\n"
" check_procs -w 2:2 -c 2:1024 -C portsentry\n"
"\n"
" check_procs -w 50000 -c 100000 --metric=VSZ\n"
" Alert if vsz of any processes over 50K or 100K\n"
+" check_procs -w 10 -c 20 --metric=CPU\n"
+" Alert if cpu of any processes over 10% or 20%\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:116
+#: plugins/check_radius.c:117
msgid "Config file error"
msgstr ""
-#: plugins/check_radius.c:123
+#: plugins/check_radius.c:125
msgid "Out of Memory?"
msgstr ""
-#: plugins/check_radius.c:144
+#: plugins/check_radius.c:146
msgid "Timeout"
msgstr ""
-#: plugins/check_radius.c:146
+#: plugins/check_radius.c:148
msgid "Auth Error"
msgstr ""
-#: plugins/check_radius.c:148
+#: plugins/check_radius.c:150
msgid "Auth Failed"
msgstr ""
-#: plugins/check_radius.c:152
+#: plugins/check_radius.c:154
msgid "Auth OK"
msgstr ""
-#: plugins/check_radius.c:190 plugins/check_radius.c:261
+#: plugins/check_radius.c:193 plugins/check_radius.c:267
msgid "Timeout interval must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:194 plugins/check_radius.c:255
+#: plugins/check_radius.c:197 plugins/check_radius.c:261
msgid "Number of retries must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:199 plugins/check_radius.c:237
+#: plugins/check_radius.c:202 plugins/check_radius.c:240
msgid "Server port must be a positive integer"
msgstr ""
-#: plugins/check_radius.c:281
+#: plugins/check_radius.c:287
msgid "Copyright (c) 1999 Robert August Vincent II\n"
msgstr ""
-#: plugins/check_radius.c:284
+#: plugins/check_radius.c:290
msgid ""
"Tests to see if a radius server is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:292
+#: plugins/check_radius.c:298
msgid ""
" -u, --username=STRING\n"
" The user to authenticate\n"
" -p, --password=STRING\n"
" Password for autentication (SECURITY RISK)\n"
+" -n, --nas-id=STRING\n"
+" NAS identifier\n"
" -F, --filename=STRING\n"
" Configuration file\n"
" -e, --expect=STRING\n"
" Number of times to retry a failed connection\n"
msgstr ""
-#: plugins/check_radius.c:306
+#: plugins/check_radius.c:314
msgid ""
"\n"
"This plugin tests a radius server to see if it is accepting connections.\n"
"\n"
msgstr ""
-#: plugins/check_radius.c:313
+#: plugins/check_radius.c:321
msgid ""
"The password option presents a substantial security issue because the\n"
"password can be determined by careful watching of the command line in\n"
msgid "REAL %s - %d second response time\n"
msgstr ""
-#: plugins/check_real.c:319 plugins/check_smtp.c:243 plugins/check_tcp.c:459
+#: plugins/check_real.c:319 plugins/check_smtp.c:301 plugins/check_tcp.c:463
msgid "Server port must be a positive integer\n"
msgstr ""
-#: plugins/check_real.c:328 plugins/check_smtp.c:273
+#: plugins/check_real.c:328 plugins/check_smtp.c:345
msgid "Warning time must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_real.c:337 plugins/check_smtp.c:264
+#: plugins/check_real.c:337 plugins/check_smtp.c:336
msgid "Critical time must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_real.c:348 plugins/check_smtp.c:284
+#: plugins/check_real.c:348 plugins/check_smtp.c:356
msgid "Time interval must be a nonnegative integer\n"
msgstr ""
"values."
msgstr ""
-#: plugins/check_smtp.c:108
+#: plugins/check_smtp.c:126
msgid "recv() failed\n"
msgstr ""
-#: plugins/check_smtp.c:117
+#: plugins/check_smtp.c:137
msgid "Invalid SMTP response received from host\n"
msgstr ""
-#: plugins/check_smtp.c:119
+#: plugins/check_smtp.c:139
#, c-format
msgid "Invalid SMTP response received from host on port %d\n"
msgstr ""
-#: plugins/check_smtp.c:149
+#: plugins/check_smtp.c:183 plugins/check_snmp.c:512
+msgid "Could Not Compile Regular Expression"
+msgstr ""
+
+#: plugins/check_smtp.c:192 plugins/check_smtp.c:202
#, c-format
-msgid ""
-"DUMMYCMD: %s\n"
-"%s\n"
+msgid "SMTP %s - Invalid response '%s' to command '%s'\n"
msgstr ""
-#: plugins/check_smtp.c:172
+#: plugins/check_smtp.c:196 plugins/check_snmp.c:278
#, c-format
-msgid "SMTP %s - %.3f sec. response time, %s|time=%ldus\n"
+msgid "Execute Error: %s\n"
msgstr ""
-#: plugins/check_smtp.c:175
+#: plugins/check_smtp.c:227
#, c-format
-msgid "SMTP %s - %.3f second response time|time=%ldus\n"
+msgid "SMTP %s - %.3f sec. response time%s%s|%s\n"
msgstr ""
-#: plugins/check_smtp.c:356
+#: plugins/check_smtp.c:315 plugins/check_smtp.c:325 plugins/check_snmp.c:568
+#, c-format
+msgid "Could not realloc() units [%d]\n"
+msgstr ""
+
+#: plugins/check_smtp.c:428
msgid "Copyright (c) 1999-2001 Ethan Galstad <nagios@nagios.org>\n"
msgstr ""
-#: plugins/check_smtp.c:359
+#: plugins/check_smtp.c:431
#, fuzzy
msgid ""
"This plugin will attempt to open an SMTP connection with the host.\n"
"\n"
msgstr "Le plugin tests a %s connection with l'host specified\n"
-#: plugins/check_smtp.c:370
+#: plugins/check_smtp.c:442
#, c-format
msgid ""
" -e, --expect=STRING\n"
" -n, nocommand\n"
" Suppress SMTP command\n"
" -C, --command=STRING\n"
-" SMTP command (default: '%s')\n"
+" SMTP command (may be used repeatedly)\n"
+" -R, --command=STRING\n"
+" Expected response to command (may be used repeatedly)\n"
" -f, --from=STRING\n"
" FROM-address to include in MAIL command, required by Exchange 2000\n"
-" (default: '%s')\n"
msgstr ""
-#: plugins/check_smtp.c:387
+#: plugins/check_smtp.c:461
msgid ""
"\n"
"Successul connects return STATE_OK, refusals and timeouts return\n"
"STATE_WARNING return values.\n"
msgstr ""
-#: plugins/check_snmp.c:278
-#, c-format
-msgid "Execute Error: %s\n"
-msgstr ""
-
-#: plugins/check_snmp.c:285 plugins/check_snmp.c:524
+#: plugins/check_snmp.c:285 plugins/check_snmp.c:518
#, c-format
msgid "%s UNKNOWN: call for regex which was not a compiled option"
msgstr ""
#: plugins/check_snmp.c:322 plugins/negate.c:108
#, c-format
msgid ""
-"%s problem - No data recieved from host\n"
+"%s problem - No data received from host\n"
"CMD: %s\n"
msgstr ""
msgid "Invalid critical threshold: %s\n"
msgstr ""
-#: plugins/check_snmp.c:471
+#: plugins/check_snmp.c:468
#, c-format
msgid "Invalid warning threshold: %s\n"
msgstr ""
-#: plugins/check_snmp.c:518
-msgid "Could Not Compile Regular Expression"
-msgstr ""
-
-#: plugins/check_snmp.c:544
+#: plugins/check_snmp.c:538
#, c-format
msgid "Could not realloc() labels[%d]"
msgstr ""
-#: plugins/check_snmp.c:557
+#: plugins/check_snmp.c:550
msgid "Could not realloc() labels\n"
msgstr ""
-#: plugins/check_snmp.c:575
-#, c-format
-msgid "Could not realloc() units [%d]\n"
-msgstr ""
-
-#: plugins/check_snmp.c:588
+#: plugins/check_snmp.c:580
msgid "Could not realloc() units\n"
msgstr ""
-#: plugins/check_snmp.c:661
+#: plugins/check_snmp.c:653
#, c-format
msgid ""
"Missing secname (%s) or authpassword (%s) ! \n"
")"
msgstr ""
-#: plugins/check_snmp.c:679
+#: plugins/check_snmp.c:671
#, c-format
msgid "Invalid SNMP version: %s\n"
msgstr ""
-#: plugins/check_snmp.c:874
+#: plugins/check_snmp.c:864
msgid ""
"Check status of remote machines and obtain sustem information via SNMP\n"
"\n"
msgstr ""
-#: plugins/check_snmp.c:884
+#: plugins/check_snmp.c:874
msgid ""
" -P, --protocol=[1|3]\n"
" SNMP protocol version\n"
" SNMPv3 auth proto\n"
msgstr ""
-#: plugins/check_snmp.c:893
+#: plugins/check_snmp.c:883
#, c-format
msgid ""
" -C, --community=STRING\n"
" SNMPv3 crypt passwd (DES)\n"
msgstr ""
-#: plugins/check_snmp.c:905
+#: plugins/check_snmp.c:895
#, c-format
msgid ""
" -o, --oid=OID(s)\n"
" to be the data that should be used in the evaluation.\n"
msgstr ""
-#: plugins/check_snmp.c:915
+#: plugins/check_snmp.c:905
msgid ""
" -w, --warning=INTEGER_RANGE(s)\n"
" Range(s) which will not result in a WARNING status\n"
" Range(s) which will not result in a CRITICAL status\n"
msgstr ""
-#: plugins/check_snmp.c:922
+#: plugins/check_snmp.c:912
msgid ""
" -s, --string=STRING\n"
" Return OK state (for that OID) if STRING is an exact match\n"
" Prefix label for output from plugin (default -s 'SNMP')\n"
msgstr ""
-#: plugins/check_snmp.c:933
+#: plugins/check_snmp.c:923
msgid ""
" -u, --units=STRING\n"
" Units label(s) for output data (e.g., 'sec.').\n"
" Separates output on multiple OID requests\n"
msgstr ""
-#: plugins/check_snmp.c:943
+#: plugins/check_snmp.c:933
msgid ""
"\n"
"- This plugin uses the 'snmpget' command included with the NET-SNMP "
" http://net-snmp.sourceforge.net before you can use this plugin.\n"
msgstr ""
-#: plugins/check_snmp.c:948
+#: plugins/check_snmp.c:938
msgid ""
"- Multiple OIDs may be indicated by a comma- or space-delimited list (lists "
"with\n"
" internal spaces must be quoted) [max 8 OIDs]\n"
msgstr ""
-#: plugins/check_snmp.c:952
+#: plugins/check_snmp.c:942
msgid ""
"- Ranges are inclusive and are indicated with colons. When specified as\n"
" 'min:max' a STATE_OK will be returned if the result is within the "
" returned if the result is outside the specified range.\n"
msgstr ""
-#: plugins/check_snmp.c:958
+#: plugins/check_snmp.c:948
msgid ""
"- If specified in the order 'max:min' a non-OK state will be returned if "
"the\n"
" result is within the (inclusive) range.\n"
msgstr ""
-#: plugins/check_snmp.c:962
+#: plugins/check_snmp.c:952
msgid ""
"- Upper or lower bounds may be omitted to skip checking the respective "
"limit.\n"
" returned from the SNMP query is an unsigned integer.\n"
msgstr ""
-#: plugins/check_snmp.c:976
+#: plugins/check_snmp.c:966
#, c-format
msgid ""
"Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n"
msgid "Usage: %s [-46] [-t <timeout>] [-p <port>] <host>\n"
msgstr ""
-#: plugins/check_swap.c:125
+#: plugins/check_swap.c:145
#, c-format
msgid "Command: %s\n"
msgstr ""
-#: plugins/check_swap.c:127
+#: plugins/check_swap.c:147
#, c-format
msgid "Format: %s\n"
msgstr ""
-#: plugins/check_swap.c:163
+#: plugins/check_swap.c:183
#, c-format
msgid "total=%d, used=%d, free=%d\n"
msgstr ""
-#: plugins/check_swap.c:186
+#: plugins/check_swap.c:197
#, c-format
msgid "total=%d, free=%d\n"
msgstr ""
-#: plugins/check_swap.c:222
+#: plugins/check_swap.c:314
#, c-format
-msgid " %d%% free (%lu MB out of %lu MB)%s"
+msgid " %d%% free (%llu MB out of %llu MB)"
msgstr ""
-#: plugins/check_swap.c:365
+#: plugins/check_swap.c:464
msgid "Warning percentage should be more than critical percentage\n"
msgstr ""
-#: plugins/check_swap.c:369
+#: plugins/check_swap.c:468
msgid "Warning free space should be more than critical free space\n"
msgstr ""
-#: plugins/check_swap.c:386
+#: plugins/check_swap.c:485
msgid ""
"Check swap space on local server.\n"
"\n"
msgstr ""
-#: plugins/check_swap.c:392
+#: plugins/check_swap.c:491
#, c-format
msgid ""
"\n"
" Exit with WARNING status if less than INTEGER bytes of swap space are "
"free\n"
" -w, --warning=PERCENT%%\n"
-" Exit with WARNING status if less than PERCENT of swap space has been "
-"used\n"
+" Exit with WARNING status if less than PERCENT of swap space is free\n"
" -c, --critical=INTEGER\n"
" Exit with CRITICAL status if less than INTEGER bytes of swap space are "
"free\n"
" -c, --critical=PERCENT%%\n"
-" Exit with CRITCAL status if less than PERCENT of swap space has been "
-"used\n"
+" Exit with CRITCAL status if less than PERCENT of swap space is free\n"
" -a, --allswaps\n"
" Conduct comparisons for all swap partitions, one by one\n"
+" -v, --verbose\n"
+" Verbose output. Up to 3 levels\n"
msgstr ""
-#: plugins/check_swap.c:404
+#: plugins/check_swap.c:505
msgid ""
"\n"
"On Solaris, if -a specified, uses swap -l, otherwise uses swap -s.\n"
"real memory\n"
msgstr ""
-#: plugins/check_swap.c:408
+#: plugins/check_swap.c:509
msgid ""
"\n"
"On AIX, if -a is specified, uses lsps -a, otherwise uses lsps -s.\n"
msgstr ""
-#: plugins/check_swap.c:420
+#: plugins/check_swap.c:521
#, c-format
msgid ""
"Usage:\n"
-" %s [-a] -w <used_percentage>%% -c <used_percentage>%%\n"
-" %s [-a] -w <bytes_free> -c <bytes_free>\n"
+" %s [-av] -w <percent_free>%% -c <percent_free>%%\n"
+" %s [-av] -w <bytes_free> -c <bytes_free>\n"
" %s (-h | --help) for detailed help\n"
" %s (-V | --version) for version information\n"
msgstr ""
msgid "%s %s%s - %.3f second response time on port %d"
msgstr ""
-#: plugins/check_tcp.c:426
+#: plugins/check_tcp.c:430
msgid "invalid host name or address"
msgstr ""
-#: plugins/check_tcp.c:431 plugins/check_time.c:252 plugins/check_time.c:264
-#: plugins/check_udp.c:166 plugins/check_users.c:145
+#: plugins/check_tcp.c:435 plugins/check_time.c:266 plugins/check_time.c:278
+#: plugins/check_udp.c:166 plugins/check_users.c:154
msgid "Critical threshold must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_tcp.c:438 plugins/check_time.c:233 plugins/check_time.c:257
-#: plugins/check_udp.c:173 plugins/check_users.c:151 plugins/check_users.c:161
-#: plugins/check_users.c:168
+#: plugins/check_tcp.c:442 plugins/check_time.c:247 plugins/check_time.c:271
+#: plugins/check_udp.c:173 plugins/check_users.c:160 plugins/check_users.c:170
+#: plugins/check_users.c:177
msgid "Warning threshold must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_tcp.c:453
+#: plugins/check_tcp.c:457
msgid "Timeout interval must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:476
+#: plugins/check_tcp.c:480
msgid "Maxbytes must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:490
+#: plugins/check_tcp.c:494
msgid "Refuse mut be one of ok, warn, crit\n"
msgstr ""
-#: plugins/check_tcp.c:496
+#: plugins/check_tcp.c:500
msgid "Delay must be a positive integer\n"
msgstr ""
-#: plugins/check_tcp.c:501
+#: plugins/check_tcp.c:505
msgid "SSL support not available. Install OpenSSL and recompile."
msgstr ""
-#: plugins/check_tcp.c:509
+#: plugins/check_tcp.c:513
msgid "You must provide a server address\n"
msgstr ""
-#: plugins/check_tcp.c:527
+#: plugins/check_tcp.c:531
msgid "ERROR: Cannot create SSL context.\n"
msgstr ""
-#: plugins/check_tcp.c:553
+#: plugins/check_tcp.c:557
msgid "ERROR: Cannot initiate SSL handshake.\n"
msgstr ""
-#: plugins/check_tcp.c:599
+#: plugins/check_tcp.c:603
#, fuzzy, c-format
msgid ""
"This plugin tests %s connections with the specified host.\n"
"\n"
msgstr "Le plugin tests a %s connection with l'host specified\n"
-#: plugins/check_tcp.c:610
+#: plugins/check_tcp.c:614
msgid ""
" -s, --send=STRING\n"
" String to send to the server\n"
" -q, --quit=STRING\n"
" String to send server to initiate a clean close of the connection\n"
-#: plugins/check_tcp.c:618
+#: plugins/check_tcp.c:622
#, fuzzy
msgid ""
" -r, --refuse=ok|warn|crit\n"
" -c, --critical=DOUBLE\n"
" Response time to result in critical status (seconds)\n"
-#: plugins/check_tcp.c:641
+#: plugins/check_tcp.c:645
#, fuzzy, c-format
msgid ""
"Usage: %s -H host -p port [-w <warning time>] [-c <critical time>]\n"
"\t[-e expect_string] [-q quit_string] [-m maxbytes] [-d delay]\n"
"\t[-t to_sec] [-r refuse_state] [-v] [-4|-6]\n"
-#: plugins/check_time.c:87
+#: plugins/check_time.c:88
#, c-format
msgid "TIME UNKNOWN - could not connect to server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:100
+#: plugins/check_time.c:101
#, c-format
msgid "TIME UNKNOWN - could not send UDP request to server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:124
+#: plugins/check_time.c:125
#, c-format
msgid "TIME UNKNOWN - no data on recv() from server %s, port %d\n"
msgstr ""
-#: plugins/check_time.c:136
+#: plugins/check_time.c:138
#, c-format
-msgid "TIME %s - %d second response time\n"
+msgid "TIME %s - %d second response time|%s\n"
msgstr ""
-#: plugins/check_time.c:150
+#: plugins/check_time.c:156
#, c-format
-msgid "TIME %s - %lu second time difference\n"
+msgid "TIME %s - %lu second time difference|%s %s\n"
msgstr ""
-#: plugins/check_time.c:215 plugins/check_time.c:290 plugins/check_udp.c:161
+#: plugins/check_time.c:229 plugins/check_time.c:304 plugins/check_udp.c:161
#: plugins/check_udp.c:202
msgid "Invalid host name/address\n"
msgstr ""
-#: plugins/check_time.c:229
+#: plugins/check_time.c:243
msgid "Warning thresholds must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:248
+#: plugins/check_time.c:262
msgid "Critical thresholds must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:271 plugins/check_udp.c:186
+#: plugins/check_time.c:285 plugins/check_udp.c:186
msgid "Server port must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:277 plugins/check_udp.c:180
+#: plugins/check_time.c:291 plugins/check_udp.c:180
msgid "Timeout interval must be a nonnegative integer\n"
msgstr ""
-#: plugins/check_time.c:294 plugins/check_udp.c:207
+#: plugins/check_time.c:308 plugins/check_udp.c:207
msgid "Host name was not supplied\n"
msgstr ""
-#: plugins/check_time.c:314 plugins/check_udp.c:225 plugins/check_users.c:186
+#: plugins/check_time.c:328 plugins/check_udp.c:225 plugins/check_users.c:195
msgid "Copyright (c) 1999 Ethan Galstad\n"
msgstr ""
-#: plugins/check_time.c:317
+#: plugins/check_time.c:331
#, fuzzy
msgid ""
"This plugin will check the time on the specified host.\n"
"\n"
msgstr "Le plugin tests a %s connection with l'host specified\n"
-#: plugins/check_time.c:326
+#: plugins/check_time.c:340
msgid ""
" -u, --udp\n"
" Use UDP to connect, not TCP\n"
" Response time (sec.) necessary to result in critical status\n"
msgstr ""
-#: plugins/check_time.c:349
+#: plugins/check_time.c:363
#, c-format
msgid ""
"Usage: %s -H <host_address> [-p port] [-u] [-w variance] [-c variance]\n"
" [-e expect] [-s send] [-t to_sec] [-v]\n"
msgstr ""
-#: plugins/check_ups.c:546
+#: plugins/check_ups.c:573
msgid "Copyright (c) 2000 Tom Shields"
msgstr ""
-#: plugins/check_ups.c:549
+#: plugins/check_ups.c:576
msgid ""
"This plugin tests the UPS service on the specified host.\n"
"Network UPS Tools from www.exploits.org must be running for this plugin to\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:559
+#: plugins/check_ups.c:586
msgid ""
" -u, --ups=STRING\n"
" Name of UPS\n"
msgstr ""
-#: plugins/check_ups.c:569
+#: plugins/check_ups.c:596
msgid ""
"This plugin attempts to determine the status of a UPS (Uninterruptible "
"Power\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:576
+#: plugins/check_ups.c:603
msgid ""
"You may also specify a variable to check [such as temperature, utility "
"voltage,\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:582
+#: plugins/check_ups.c:609
msgid ""
"Notes:\n"
"\n"
"\n"
msgstr ""
-#: plugins/check_ups.c:597
+#: plugins/check_ups.c:624
#, c-format
msgid ""
"Usage: %s -H host [-e expect] [-p port] [-w warn] [-c crit]\n"
" [-t timeout] [-v]\n"
msgstr ""
-#: plugins/check_users.c:73
+#: plugins/check_users.c:76
#, c-format
msgid "# users=%d"
msgstr ""
-#: plugins/check_users.c:98
+#: plugins/check_users.c:106
#, c-format
-msgid "USERS %s - %d users currently logged in\n"
+msgid "USERS %s - %d users currently logged in |%s\n"
msgstr ""
-#: plugins/check_users.c:189
+#: plugins/check_users.c:198
msgid ""
"This plugin checks the number of users currently logged in on the local\n"
"system and generates an error if the number exceeds the thresholds "
"specified.\n"
msgstr ""
-#: plugins/check_users.c:197
+#: plugins/check_users.c:206
msgid ""
" -w, --warning=INTEGER\n"
" Set WARNING status if more than INTEGER users are logged in\n"
#: plugins/urlize.c:105
#, c-format
msgid ""
-"%s problem - No data recieved from host\n"
+"%s problem - No data received from host\n"
"CMD: %s</A>\n"
msgstr ""