diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-05-14 23:43:12 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-15 20:24:19 +0800 |
commit | 52c4ba0309fda93ec77b2c763e7ff5d7c84cc2a2 (patch) | |
tree | 145bce210c41baa445ebfbf3e469e3ee33d31ac3 | |
parent | a0aeaa799eda7e8b2ed05795c51961b3c3a82ba5 (diff) |
[nat] Add a regexp test command to the VTY.
This allows to test the regexp to be used for allo/deny of
the imsi filter.
-rw-r--r-- | openbsc/src/nat/bsc_nat_vty.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/openbsc/src/nat/bsc_nat_vty.c b/openbsc/src/nat/bsc_nat_vty.c index 2c804b35a..7209ae946 100644 --- a/openbsc/src/nat/bsc_nat_vty.c +++ b/openbsc/src/nat/bsc_nat_vty.c @@ -410,6 +410,24 @@ DEFUN(cfg_bsc_desc, return CMD_SUCCESS; } +DEFUN(test_regex, test_regex_cmd, + "test regex PATTERN STRING", + "Check if the string is matching the current pattern.") +{ + regex_t reg; + char *str = NULL; + + memset(®, 0, sizeof(reg)); + bsc_parse_reg(_nat, ®, &str, 1, argv); + + vty_out(vty, "String matches allow pattern: %d%s", + regexec(®, argv[1], 0, NULL, 0) == 0, VTY_NEWLINE); + + talloc_free(str); + regfree(®); + return CMD_SUCCESS; +} + int bsc_nat_vty_init(struct bsc_nat *nat) { _nat = nat; @@ -424,6 +442,7 @@ int bsc_nat_vty_init(struct bsc_nat *nat) install_element(VIEW_NODE, &show_stats_cmd); install_element(VIEW_NODE, &close_bsc_cmd); install_element(VIEW_NODE, &show_msc_cmd); + install_element(VIEW_NODE, &test_regex_cmd); openbsc_vty_add_cmds(); |