summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-05-02 13:03:28 +0200
committerMax <msuraev@sysmocom.de>2017-05-02 13:43:13 +0200
commit086067f0a13846590130379bfeffeb2962cd4708 (patch)
treebdd1120543d23b2f70c27ab9371c05b42fbae725
parent7bb383a45c7684b7df078edc2bdadd473b52365c (diff)
Fix vty warnings for GEA0
Previously vty always used additional checks even for GEA0 (no encryption) which resulted in misleading warnings. Fix this by adding explicit check for GEA0. Related: SYS#3610 Change-Id: I1ee468ab3298076d4cb5c7b1f6293c07e272417b
-rw-r--r--openbsc/src/gprs/sgsn_vty.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index d42a1653a..e09a0296b 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -619,17 +619,18 @@ DEFUN(cfg_encrypt, cfg_encrypt_cmd,
"Use GEA0 (no encryption)\n"
"Use GEA1\nUse GEA2\nUse GEA3\nUse GEA4\n")
{
- if (!g_cfg->require_authentication) {
- vty_out(vty, "%% unable to use encryption without "
- "authentication: adjust auth-policy%s", VTY_NEWLINE);
- return CMD_WARNING;
- }
-
enum gprs_ciph_algo c = get_string_value(gprs_cipher_names, argv[0]);
- if (!gprs_cipher_supported(c)) {
- vty_out(vty, "%% cipher %s is unsupported in current version%s",
- argv[0], VTY_NEWLINE);
- return CMD_WARNING;
+ if (c != GPRS_ALGO_GEA0) {
+ if (!gprs_cipher_supported(c)) {
+ vty_out(vty, "%% cipher %s is unsupported in current version%s", argv[0], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ if (!g_cfg->require_authentication) {
+ vty_out(vty, "%% unable to use encryption %s without authentication: please adjust auth-policy%s",
+ argv[0], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
}
g_cfg->cipher = c;