Move err.h replacements into compat lib.
Move implementations of err.h replacement functions into their own file in the libopenbsd-compat so we can use them in kexfuzz.c too. ok djm@
This commit is contained in:
parent
f3f2cc8386
commit
6310ef27a2
|
@ -373,6 +373,7 @@ AC_CHECK_HEADERS([ \
|
||||||
dirent.h \
|
dirent.h \
|
||||||
endian.h \
|
endian.h \
|
||||||
elf.h \
|
elf.h \
|
||||||
|
err.h \
|
||||||
features.h \
|
features.h \
|
||||||
fcntl.h \
|
fcntl.h \
|
||||||
floatingpoint.h \
|
floatingpoint.h \
|
||||||
|
@ -1692,6 +1693,8 @@ AC_CHECK_FUNCS([ \
|
||||||
closefrom \
|
closefrom \
|
||||||
dirfd \
|
dirfd \
|
||||||
endgrent \
|
endgrent \
|
||||||
|
err \
|
||||||
|
errx \
|
||||||
explicit_bzero \
|
explicit_bzero \
|
||||||
fchmod \
|
fchmod \
|
||||||
fchown \
|
fchown \
|
||||||
|
@ -1783,6 +1786,7 @@ AC_CHECK_FUNCS([ \
|
||||||
vasprintf \
|
vasprintf \
|
||||||
vsnprintf \
|
vsnprintf \
|
||||||
waitpid \
|
waitpid \
|
||||||
|
warn \
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_LINK_IFELSE(
|
AC_LINK_IFELSE(
|
||||||
|
|
|
@ -18,7 +18,7 @@ LDFLAGS=-L. @LDFLAGS@
|
||||||
|
|
||||||
OPENBSD=base64.o basename.o bcrypt_pbkdf.o bindresvport.o blowfish.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt_long.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o reallocarray.o realpath.o rresvport.o setenv.o setproctitle.o sha1.o sha2.o rmd160.o md5.o sigact.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o strtoull.o timingsafe_bcmp.o vis.o blowfish.o bcrypt_pbkdf.o explicit_bzero.o
|
OPENBSD=base64.o basename.o bcrypt_pbkdf.o bindresvport.o blowfish.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt_long.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o reallocarray.o realpath.o rresvport.o setenv.o setproctitle.o sha1.o sha2.o rmd160.o md5.o sigact.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o strtoull.o timingsafe_bcmp.o vis.o blowfish.o bcrypt_pbkdf.o explicit_bzero.o
|
||||||
|
|
||||||
COMPAT=arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-setres_id.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xmmap.o xcrypt.o kludge-fd_set.o
|
COMPAT=arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-err.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-setres_id.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xmmap.o xcrypt.o kludge-fd_set.o
|
||||||
|
|
||||||
PORTS=port-aix.o port-irix.o port-linux.o port-solaris.o port-tun.o port-uw.o
|
PORTS=port-aix.o port-irix.o port-linux.o port-solaris.o port-tun.o port-uw.o
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2015 Tim Rice <tim@multitalents.net>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. The name of the author may not be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "includes.h"
|
||||||
|
|
||||||
|
#ifndef HAVE_ERR
|
||||||
|
void
|
||||||
|
err(int r, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
fprintf(stderr, "%s: ", strerror(errno));
|
||||||
|
vfprintf(stderr, fmt, args);
|
||||||
|
fputc('\n', stderr);
|
||||||
|
va_end(args);
|
||||||
|
exit(r);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_ERRX
|
||||||
|
void
|
||||||
|
errx(int r, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
vfprintf(stderr, fmt, args);
|
||||||
|
fputc('\n', stderr);
|
||||||
|
va_end(args);
|
||||||
|
exit(r);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_WARN
|
||||||
|
void
|
||||||
|
warn(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
fprintf(stderr, "%s: ", strerror(errno));
|
||||||
|
vfprintf(stderr, fmt, args);
|
||||||
|
fputc('\n', stderr);
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
#endif
|
|
@ -126,4 +126,15 @@ pid_t getpgid(pid_t);
|
||||||
int pledge(const char *promises, const char *paths[]);
|
int pledge(const char *promises, const char *paths[]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* bsd-err.h */
|
||||||
|
#ifndef HAVE_ERR
|
||||||
|
void err(int, const char *, ...) __attribute__((format(printf, 2, 3)));
|
||||||
|
#endif
|
||||||
|
#ifndef HAVE_ERRX
|
||||||
|
void errx(int, const char *, ...) __attribute__((format(printf, 2, 3)));
|
||||||
|
#endif
|
||||||
|
#ifndef HAVE_WARN
|
||||||
|
void warn(const char *, ...) __attribute__((format(printf, 1, 2)));
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _BSD_MISC_H */
|
#endif /* _BSD_MISC_H */
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <err.h>
|
#ifdef HAVE_ERR_H
|
||||||
|
# include <err.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "ssh_api.h"
|
#include "ssh_api.h"
|
||||||
|
|
|
@ -134,46 +134,6 @@ void usage(int);
|
||||||
ssize_t drainbuf(int, unsigned char *, size_t *);
|
ssize_t drainbuf(int, unsigned char *, size_t *);
|
||||||
ssize_t fillbuf(int, unsigned char *, size_t *);
|
ssize_t fillbuf(int, unsigned char *, size_t *);
|
||||||
|
|
||||||
static void err(int, const char *, ...) __attribute__((format(printf, 2, 3)));
|
|
||||||
static void errx(int, const char *, ...) __attribute__((format(printf, 2, 3)));
|
|
||||||
static void warn(const char *, ...) __attribute__((format(printf, 1, 2)));
|
|
||||||
|
|
||||||
static void
|
|
||||||
err(int r, const char *fmt, ...)
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
fprintf(stderr, "%s: ", strerror(errno));
|
|
||||||
vfprintf(stderr, fmt, args);
|
|
||||||
fputc('\n', stderr);
|
|
||||||
va_end(args);
|
|
||||||
exit(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
errx(int r, const char *fmt, ...)
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
vfprintf(stderr, fmt, args);
|
|
||||||
fputc('\n', stderr);
|
|
||||||
va_end(args);
|
|
||||||
exit(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
warn(const char *fmt, ...)
|
|
||||||
{
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
fprintf(stderr, "%s: ", strerror(errno));
|
|
||||||
vfprintf(stderr, fmt, args);
|
|
||||||
fputc('\n', stderr);
|
|
||||||
va_end(args);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
|
|
Loading…
Reference in New Issue