mirror of
git://git.code.sf.net/p/xtables-addons/xtables-addons
synced 2025-09-20 19:44:56 +02:00
ACCOUNT/userspace: simple reformat, use tabs instead of spaces
This commit is contained in:
@@ -29,7 +29,7 @@ static void sig_term(int signr)
|
|||||||
signal(SIGQUIT, SIG_IGN);
|
signal(SIGQUIT, SIG_IGN);
|
||||||
signal(SIGTERM, SIG_IGN);
|
signal(SIGTERM, SIG_IGN);
|
||||||
|
|
||||||
exit_now=1;
|
exit_now = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *addr_to_dotted(unsigned int);
|
char *addr_to_dotted(unsigned int);
|
||||||
@@ -38,7 +38,7 @@ char *addr_to_dotted(unsigned int addr)
|
|||||||
static char buf[17];
|
static char buf[17];
|
||||||
const unsigned char *bytep;
|
const unsigned char *bytep;
|
||||||
|
|
||||||
bytep = (const unsigned char *) &addr;
|
bytep = (const unsigned char *)&addr;
|
||||||
snprintf(buf, 16, "%u.%u.%u.%u", bytep[0], bytep[1], bytep[2], bytep[3]);
|
snprintf(buf, 16, "%u.%u.%u.%u", bytep[0], bytep[1], bytep[2], bytep[3]);
|
||||||
buf[16] = 0;
|
buf[16] = 0;
|
||||||
return buf;
|
return buf;
|
||||||
@@ -46,7 +46,7 @@ char *addr_to_dotted(unsigned int addr)
|
|||||||
|
|
||||||
static void show_usage(void)
|
static void show_usage(void)
|
||||||
{
|
{
|
||||||
printf ("Unknown command line option. Try: [-u] [-h] [-a] [-f] [-c] [-s] [-l name]\n");
|
printf("Unknown command line option. Try: [-u] [-h] [-a] [-f] [-c] [-s] [-l name]\n");
|
||||||
printf("[-u] show kernel handle usage\n");
|
printf("[-u] show kernel handle usage\n");
|
||||||
printf("[-h] free all kernel handles (experts only!)\n\n");
|
printf("[-h] free all kernel handles (experts only!)\n\n");
|
||||||
printf("[-a] list all table names\n");
|
printf("[-a] list all table names\n");
|
||||||
@@ -62,8 +62,8 @@ int main(int argc, char *argv[])
|
|||||||
struct ipt_ACCOUNT_context ctx;
|
struct ipt_ACCOUNT_context ctx;
|
||||||
struct ipt_acc_handle_ip *entry;
|
struct ipt_acc_handle_ip *entry;
|
||||||
int i;
|
int i;
|
||||||
char optchar, doHandleUsage=0, doHandleFree=0, doTableNames=0,
|
char optchar, doHandleUsage = 0, doHandleFree = 0, doTableNames = 0;
|
||||||
doFlush=0, doContinue=0, doCSV=0;
|
char doFlush = 0, doContinue = 0, doCSV = 0;
|
||||||
|
|
||||||
char *table_name = NULL;
|
char *table_name = NULL;
|
||||||
const char *name;
|
const char *name;
|
||||||
@@ -77,27 +77,27 @@ int main(int argc, char *argv[])
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((optchar = getopt (argc, argv, "uhacfsl:")) != -1)
|
while ((optchar = getopt(argc, argv, "uhacfsl:")) != -1)
|
||||||
{
|
{
|
||||||
switch (optchar)
|
switch (optchar)
|
||||||
{
|
{
|
||||||
case 'u':
|
case 'u':
|
||||||
doHandleUsage=1;
|
doHandleUsage = 1;
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
doHandleFree=1;
|
doHandleFree = 1;
|
||||||
break;
|
break;
|
||||||
case 'a':
|
case 'a':
|
||||||
doTableNames=1;
|
doTableNames = 1;
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
doFlush=1;
|
doFlush = 1;
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
doContinue=1;
|
doContinue = 1;
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
doCSV=1;
|
doCSV = 1;
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
table_name = (char *)strdup(optarg);
|
table_name = (char *)strdup(optarg);
|
||||||
@@ -105,7 +105,7 @@ int main(int argc, char *argv[])
|
|||||||
case '?':
|
case '?':
|
||||||
default:
|
default:
|
||||||
show_usage();
|
show_usage();
|
||||||
exit (0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -114,23 +114,23 @@ int main(int argc, char *argv[])
|
|||||||
if (signal(SIGTERM, sig_term) == SIG_ERR)
|
if (signal(SIGTERM, sig_term) == SIG_ERR)
|
||||||
{
|
{
|
||||||
printf("can't install signal handler for SIGTERM\n");
|
printf("can't install signal handler for SIGTERM\n");
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
if (signal(SIGINT, sig_term) == SIG_ERR)
|
if (signal(SIGINT, sig_term) == SIG_ERR)
|
||||||
{
|
{
|
||||||
printf("can't install signal handler for SIGINT\n");
|
printf("can't install signal handler for SIGINT\n");
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
if (signal(SIGQUIT, sig_term) == SIG_ERR)
|
if (signal(SIGQUIT, sig_term) == SIG_ERR)
|
||||||
{
|
{
|
||||||
printf("can't install signal handler for SIGQUIT\n");
|
printf("can't install signal handler for SIGQUIT\n");
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ipt_ACCOUNT_init(&ctx))
|
if (ipt_ACCOUNT_init(&ctx))
|
||||||
{
|
{
|
||||||
printf("Init failed: %s\n", ctx.error_str);
|
printf("Init failed: %s\n", ctx.error_str);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get handle usage?
|
// Get handle usage?
|
||||||
@@ -140,7 +140,7 @@ int main(int argc, char *argv[])
|
|||||||
if (rtn < 0)
|
if (rtn < 0)
|
||||||
{
|
{
|
||||||
printf("get_handle_usage failed: %s\n", ctx.error_str);
|
printf("get_handle_usage failed: %s\n", ctx.error_str);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Current kernel handle usage: %d\n", ctx.handle.itemcount);
|
printf("Current kernel handle usage: %d\n", ctx.handle.itemcount);
|
||||||
@@ -152,7 +152,7 @@ int main(int argc, char *argv[])
|
|||||||
if (rtn < 0)
|
if (rtn < 0)
|
||||||
{
|
{
|
||||||
printf("handle_free_all failed: %s\n", ctx.error_str);
|
printf("handle_free_all failed: %s\n", ctx.error_str);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Freed all handles in kernel space\n");
|
printf("Freed all handles in kernel space\n");
|
||||||
@@ -164,7 +164,7 @@ int main(int argc, char *argv[])
|
|||||||
if (rtn < 0)
|
if (rtn < 0)
|
||||||
{
|
{
|
||||||
printf("get_table_names failed: %s\n", ctx.error_str);
|
printf("get_table_names failed: %s\n", ctx.error_str);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
while ((name = ipt_ACCOUNT_get_next_name(&ctx)) != 0)
|
while ((name = ipt_ACCOUNT_get_next_name(&ctx)) != 0)
|
||||||
printf("Found table: %s\n", name);
|
printf("Found table: %s\n", name);
|
||||||
@@ -186,7 +186,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
printf("Read failed: %s\n", ctx.error_str);
|
printf("Read failed: %s\n", ctx.error_str);
|
||||||
ipt_ACCOUNT_deinit(&ctx);
|
ipt_ACCOUNT_deinit(&ctx);
|
||||||
exit (-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!doCSV)
|
if (!doCSV)
|
||||||
@@ -217,5 +217,5 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
printf("Finished.\n");
|
printf("Finished.\n");
|
||||||
ipt_ACCOUNT_deinit(&ctx);
|
ipt_ACCOUNT_deinit(&ctx);
|
||||||
exit (0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx)
|
int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx)
|
||||||
{
|
{
|
||||||
memset (ctx, 0, sizeof(struct ipt_ACCOUNT_context));
|
memset(ctx, 0, sizeof(struct ipt_ACCOUNT_context));
|
||||||
ctx->handle.handle_nr = -1;
|
ctx->handle.handle_nr = -1;
|
||||||
|
|
||||||
ctx->sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
|
ctx->sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
|
||||||
@@ -34,8 +34,8 @@ int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx)
|
|||||||
|
|
||||||
// 4096 bytes default buffer should save us from reallocations
|
// 4096 bytes default buffer should save us from reallocations
|
||||||
// as it fits 200 concurrent active clients
|
// as it fits 200 concurrent active clients
|
||||||
if((ctx->data = (void *)malloc(IPT_ACCOUNT_MIN_BUFSIZE)) == NULL) {
|
if ((ctx->data = (void *)malloc(IPT_ACCOUNT_MIN_BUFSIZE)) == NULL) {
|
||||||
close (ctx->sockfd);
|
close(ctx->sockfd);
|
||||||
ctx->sockfd = -1;
|
ctx->sockfd = -1;
|
||||||
ctx->error_str = "Out of memory for data buffer";
|
ctx->error_str = "Out of memory for data buffer";
|
||||||
return -1;
|
return -1;
|
||||||
@@ -49,7 +49,7 @@ void ipt_ACCOUNT_free_entries(struct ipt_ACCOUNT_context *ctx)
|
|||||||
{
|
{
|
||||||
if (ctx->handle.handle_nr != -1) {
|
if (ctx->handle.handle_nr != -1) {
|
||||||
setsockopt(ctx->sockfd, IPPROTO_IP, IPT_SO_SET_ACCOUNT_HANDLE_FREE,
|
setsockopt(ctx->sockfd, IPPROTO_IP, IPT_SO_SET_ACCOUNT_HANDLE_FREE,
|
||||||
&ctx->handle, sizeof (struct ipt_acc_handle_sockopt));
|
&ctx->handle, sizeof(struct ipt_acc_handle_sockopt));
|
||||||
ctx->handle.handle_nr = -1;
|
ctx->handle.handle_nr = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,13 +65,13 @@ void ipt_ACCOUNT_deinit(struct ipt_ACCOUNT_context *ctx)
|
|||||||
ipt_ACCOUNT_free_entries(ctx);
|
ipt_ACCOUNT_free_entries(ctx);
|
||||||
|
|
||||||
close(ctx->sockfd);
|
close(ctx->sockfd);
|
||||||
ctx->sockfd =-1;
|
ctx->sockfd = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
||||||
const char *table, char dont_flush)
|
const char *table, char dont_flush)
|
||||||
{
|
{
|
||||||
unsigned int s = sizeof (struct ipt_acc_handle_sockopt);
|
unsigned int s = sizeof(struct ipt_acc_handle_sockopt);
|
||||||
unsigned int new_size;
|
unsigned int new_size;
|
||||||
int rtn;
|
int rtn;
|
||||||
|
|
||||||
@@ -99,9 +99,9 @@ int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
|||||||
new_size = IPT_ACCOUNT_MIN_BUFSIZE;
|
new_size = IPT_ACCOUNT_MIN_BUFSIZE;
|
||||||
|
|
||||||
// Reallocate if it's too small or twice as big
|
// Reallocate if it's too small or twice as big
|
||||||
if (ctx->data_size < new_size || ctx->data_size > new_size*2) {
|
if (ctx->data_size < new_size || ctx->data_size > new_size * 2) {
|
||||||
// Free old buffer
|
// Free old buffer
|
||||||
free (ctx->data);
|
free(ctx->data);
|
||||||
ctx->data_size = 0;
|
ctx->data_size = 0;
|
||||||
|
|
||||||
if ((ctx->data = (void*)malloc(new_size)) == NULL) {
|
if ((ctx->data = (void*)malloc(new_size)) == NULL) {
|
||||||
@@ -126,7 +126,7 @@ int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
|||||||
|
|
||||||
// Free kernel handle but don't reset pos/itemcount
|
// Free kernel handle but don't reset pos/itemcount
|
||||||
setsockopt(ctx->sockfd, IPPROTO_IP, IPT_SO_SET_ACCOUNT_HANDLE_FREE,
|
setsockopt(ctx->sockfd, IPPROTO_IP, IPT_SO_SET_ACCOUNT_HANDLE_FREE,
|
||||||
&ctx->handle, sizeof (struct ipt_acc_handle_sockopt));
|
&ctx->handle, sizeof(struct ipt_acc_handle_sockopt));
|
||||||
ctx->handle.handle_nr = -1;
|
ctx->handle.handle_nr = -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -150,7 +150,7 @@ struct ipt_acc_handle_ip *ipt_ACCOUNT_get_next_entry(struct ipt_ACCOUNT_context
|
|||||||
|
|
||||||
int ipt_ACCOUNT_get_handle_usage(struct ipt_ACCOUNT_context *ctx)
|
int ipt_ACCOUNT_get_handle_usage(struct ipt_ACCOUNT_context *ctx)
|
||||||
{
|
{
|
||||||
unsigned int s = sizeof (struct ipt_acc_handle_sockopt);
|
unsigned int s = sizeof(struct ipt_acc_handle_sockopt);
|
||||||
if (getsockopt(ctx->sockfd, IPPROTO_IP,
|
if (getsockopt(ctx->sockfd, IPPROTO_IP,
|
||||||
IPT_SO_GET_ACCOUNT_GET_HANDLE_USAGE, &ctx->handle, &s) < 0) {
|
IPT_SO_GET_ACCOUNT_GET_HANDLE_USAGE, &ctx->handle, &s) < 0) {
|
||||||
ctx->error_str = "Can't get handle usage information from kernel";
|
ctx->error_str = "Can't get handle usage information from kernel";
|
||||||
@@ -193,7 +193,7 @@ const char *ipt_ACCOUNT_get_next_name(struct ipt_ACCOUNT_context *ctx)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
rtn = ctx->data + ctx->pos;
|
rtn = ctx->data + ctx->pos;
|
||||||
ctx->pos += strlen(ctx->data+ctx->pos) + 1;
|
ctx->pos += strlen(ctx->data + ctx->pos) + 1;
|
||||||
|
|
||||||
return rtn;
|
return rtn;
|
||||||
}
|
}
|
||||||
|
@@ -34,23 +34,23 @@ struct ipt_ACCOUNT_context
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx);
|
int ipt_ACCOUNT_init(struct ipt_ACCOUNT_context *ctx);
|
||||||
void ipt_ACCOUNT_deinit(struct ipt_ACCOUNT_context *ctx);
|
void ipt_ACCOUNT_deinit(struct ipt_ACCOUNT_context *ctx);
|
||||||
|
|
||||||
void ipt_ACCOUNT_free_entries(struct ipt_ACCOUNT_context *ctx);
|
void ipt_ACCOUNT_free_entries(struct ipt_ACCOUNT_context *ctx);
|
||||||
int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
int ipt_ACCOUNT_read_entries(struct ipt_ACCOUNT_context *ctx,
|
||||||
const char *table, char dont_flush);
|
const char *table, char dont_flush);
|
||||||
struct ipt_acc_handle_ip *ipt_ACCOUNT_get_next_entry(
|
struct ipt_acc_handle_ip *ipt_ACCOUNT_get_next_entry(
|
||||||
struct ipt_ACCOUNT_context *ctx);
|
struct ipt_ACCOUNT_context *ctx);
|
||||||
|
|
||||||
/* ipt_ACCOUNT_free_entries is for internal use only function as this library
|
/* ipt_ACCOUNT_free_entries is for internal use only function as this library
|
||||||
is constructed to be used in a loop -> Don't allocate memory all the time.
|
is constructed to be used in a loop -> Don't allocate memory all the time.
|
||||||
The data buffer is freed on deinit() */
|
The data buffer is freed on deinit() */
|
||||||
|
|
||||||
int ipt_ACCOUNT_get_handle_usage(struct ipt_ACCOUNT_context *ctx);
|
int ipt_ACCOUNT_get_handle_usage(struct ipt_ACCOUNT_context *ctx);
|
||||||
int ipt_ACCOUNT_free_all_handles(struct ipt_ACCOUNT_context *ctx);
|
int ipt_ACCOUNT_free_all_handles(struct ipt_ACCOUNT_context *ctx);
|
||||||
int ipt_ACCOUNT_get_table_names(struct ipt_ACCOUNT_context *ctx);
|
int ipt_ACCOUNT_get_table_names(struct ipt_ACCOUNT_context *ctx);
|
||||||
const char *ipt_ACCOUNT_get_next_name(struct ipt_ACCOUNT_context *ctx);
|
const char *ipt_ACCOUNT_get_next_name(struct ipt_ACCOUNT_context *ctx);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user