diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-04-06 13:57:10 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-04-09 13:50:00 +0200 |
commit | 628122466c32e7f1795c9754a46e6b6b91e71aa5 (patch) | |
tree | f49a50b27db294fd800fb5db1868474f275c2e8c | |
parent | cd861145b95a1d0fc9b716e806fed8935df56adc (diff) |
src: introduce netlink_init_error()
Based on the existing netlink_open_error(), but indicate file and line
where the error happens. This will help us to diagnose what is going
wrong when users can back to us to report problems.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | include/netlink.h | 4 | ||||
-rw-r--r-- | src/netlink.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/include/netlink.h b/include/netlink.h index c1ff9c60..9f24ea5e 100644 --- a/include/netlink.h +++ b/include/netlink.h @@ -145,7 +145,9 @@ extern void netlink_restart(void); extern void __noreturn __netlink_abi_error(const char *file, int line, const char *reason); extern int netlink_io_error(struct netlink_ctx *ctx, const struct location *loc, const char *fmt, ...); -extern void netlink_open_error(void) __noreturn; +#define netlink_init_error() \ + __netlink_init_error(__FILE__, __LINE__, strerror(errno)); +extern void __noreturn __netlink_init_error(const char *file, int line, const char *reason); extern int netlink_flush_ruleset(struct netlink_ctx *ctx, const struct handle *h, diff --git a/src/netlink.c b/src/netlink.c index c118502a..343d8bea 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -52,7 +52,7 @@ static struct mnl_socket *nfsock_open(void) s = mnl_socket_open(NETLINK_NETFILTER); if (s == NULL) - netlink_open_error(); + netlink_init_error(); return s; } @@ -110,10 +110,11 @@ int netlink_io_error(struct netlink_ctx *ctx, const struct location *loc, return -1; } -void __noreturn netlink_open_error(void) +void __noreturn __netlink_init_error(const char *filename, int line, + const char *reason) { - fprintf(stderr, "E: Unable to open Netlink socket: %s\n", - strerror(errno)); + fprintf(stderr, "%s:%d: Unable to initialize Netlink socket: %s\n", + filename, line, reason); exit(NFT_EXIT_NONL); } |