diff options
| author | Rajesh Amaravathi <rajesh@redhat.com> | 2013-03-13 17:35:25 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-04-02 16:05:24 -0700 | 
| commit | f3a9e390afd4088fdd805d5a8b917924d34cecff (patch) | |
| tree | 39ebffa52982944f957f6a152d6143f6dd7b688b /rpc/rpc-lib/src/rpcsvc-auth.c | |
| parent | 87300be91cb9e1cd98ac5cba8998524d95c98d12 (diff) | |
rpc/nfs: cleanup legacy code of general options
Removing the code which handles "general" options.
Since it is no longer possible to set general options which
apply for all volumes by default, this was redundant.
This cleanup of general options code also solves a bug wherein
with nfs.addr-namelookup on, nfs.rpc-auth-reject wouldn't work
on ip addresses
Change-Id: Iba066e32f9a0255287c322ef85ad1d04b325d739
BUG: 921072
Signed-off-by: Rajesh Amaravathi <rajesh@redhat.com>
Reviewed-on: http://review.gluster.org/4691
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'rpc/rpc-lib/src/rpcsvc-auth.c')
| -rw-r--r-- | rpc/rpc-lib/src/rpcsvc-auth.c | 70 | 
1 files changed, 17 insertions, 53 deletions
diff --git a/rpc/rpc-lib/src/rpcsvc-auth.c b/rpc/rpc-lib/src/rpcsvc-auth.c index 04b66091f73..1082794568c 100644 --- a/rpc/rpc-lib/src/rpcsvc-auth.c +++ b/rpc/rpc-lib/src/rpcsvc-auth.c @@ -366,14 +366,10 @@ err:  int  rpcsvc_auth_array (rpcsvc_t *svc, char *volname, int *autharr, int arrlen)  { -        int             count = 0; -        int             gen = RPCSVC_AUTH_REJECT; -        int             spec = RPCSVC_AUTH_REJECT; -        int             final = RPCSVC_AUTH_REJECT; -        char            *srchstr = NULL; -        char            *valstr = NULL; -        gf_boolean_t    boolval = _gf_false; -        int             ret = 0; +        int             count      = 0; +        int             result     = RPCSVC_AUTH_REJECT; +        char           *srchstr    = NULL; +        int             ret        = 0;          struct rpcsvc_auth_list *auth = NULL;          struct rpcsvc_auth_list *tmp = NULL; @@ -391,59 +387,27 @@ rpcsvc_auth_array (rpcsvc_t *svc, char *volname, int *autharr, int arrlen)                  if (count >= arrlen)                          break; -                gen = gf_asprintf (&srchstr, "rpc-auth.%s", auth->name); -                if (gen == -1) { +                result = gf_asprintf (&srchstr, "rpc-auth.%s.%s", +                                      auth->name, volname); +                if (result == -1) {                          count = -1;                          goto err;                  } -                gen = RPCSVC_AUTH_REJECT; -                if (dict_get (svc->options, srchstr)) { -                        ret = dict_get_str (svc->options, srchstr, &valstr); -                        if (ret == 0) { -                                ret = gf_string2boolean (valstr, &boolval); -                                if (ret == 0) { -                                        if (boolval == _gf_true) -                                                gen = RPCSVC_AUTH_ACCEPT; -                                } else -                                        gf_log (GF_RPCSVC, GF_LOG_ERROR, "Faile" -                                                "d to read auth val"); -                        } else -                                gf_log (GF_RPCSVC, GF_LOG_ERROR, "Faile" -                                        "d to read auth val"); -                } - +                ret = dict_get_str_boolean (svc->options, srchstr, 0xC00FFEE);                  GF_FREE (srchstr); -                spec = gf_asprintf (&srchstr, "rpc-auth.%s.%s", auth->name, -                                    volname); -                if (spec == -1) { -                        count = -1; -                        goto err; -                } -                spec = RPCSVC_AUTH_DONTCARE; -                if (dict_get (svc->options, srchstr)) { -                        ret = dict_get_str (svc->options, srchstr, &valstr); -                        if (ret == 0) { -                                ret = gf_string2boolean (valstr, &boolval); -                                if (ret == 0) { -                                        if (boolval == _gf_true) -                                                spec = RPCSVC_AUTH_ACCEPT; -                                        else -                                                spec = RPCSVC_AUTH_REJECT; -                                } else -                                        gf_log (GF_RPCSVC, GF_LOG_ERROR, "Faile" -                                                "d to read auth val"); -                        } else -                                gf_log (GF_RPCSVC, GF_LOG_ERROR, "Faile" -                                        "d to read auth val"); -                } - -                GF_FREE (srchstr); -                final = rpcsvc_combine_gen_spec_volume_checks (gen, spec); -                if (final == RPCSVC_AUTH_ACCEPT) { +                switch (ret) { +                case _gf_true: +                        result = RPCSVC_AUTH_ACCEPT;                          autharr[count] = auth->auth->authnum;                          ++count; +                        break; +                case _gf_false: +                        result = RPCSVC_AUTH_REJECT; +                        break; +                default: +                        result = RPCSVC_AUTH_DONTCARE;                  }          }  | 
