Skip to content

Commit ab1f321

Browse files
committed
Refactor the gssntlm_required_security function
Keeps manipulation of ctx->sec_req inside gss_ntlmssp.c Signed-off-by: Simo Sorce <simo@redhat.com>
1 parent 556adfa commit ab1f321

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

src/gss_ntlmssp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const gss_OID_desc gssntlm_oid = {
3939
.elements = discard_const(GSS_NTLMSSP_OID_STRING)
4040
};
4141

42-
uint8_t gssntlm_required_security(int security_level, struct gssntlm_ctx *ctx)
42+
bool gssntlm_required_security(int security_level, struct gssntlm_ctx *ctx)
4343
{
4444
uint8_t resp;
4545

@@ -68,11 +68,11 @@ uint8_t gssntlm_required_security(int security_level, struct gssntlm_ctx *ctx)
6868
resp |= SEC_V2_OK | SEC_EXT_SEC_OK;
6969
break;
7070
default:
71-
resp = 0xff;
72-
break;
71+
return false;
7372
}
7473

75-
return resp;
74+
ctx->sec_req = resp;
75+
return true;
7676
}
7777

7878
void gssntlm_set_role(struct gssntlm_ctx *ctx,

src/gss_ntlmssp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ static inline uint32_t gssntlmssp_ret_err(uint32_t *s, uint32_t n, uint32_t j)
161161
DEBUG_GSS_ERRORS((retmaj = (maj)), (retmin = (min))) ? 0 : \
162162
gssntlmssp_ret_err(minor_status, retmin, retmaj)
163163

164-
uint8_t gssntlm_required_security(int security_level, struct gssntlm_ctx *ctx);
164+
bool gssntlm_required_security(int security_level, struct gssntlm_ctx *ctx);
165165

166166
void gssntlm_set_role(struct gssntlm_ctx *ctx,
167167
int desired, char *nb_domain_name);

src/gss_sec_ctx.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,7 @@ uint32_t gssntlm_init_sec_context(uint32_t *minor_status,
195195
gssntlm_set_role(ctx, GSSNTLM_CLIENT, nb_domain_name);
196196

197197
lm_compat_lvl = gssntlm_get_lm_compatibility_level();
198-
ctx->sec_req = gssntlm_required_security(lm_compat_lvl, ctx);
199-
if (ctx->sec_req == 0xff) {
198+
if (!gssntlm_required_security(lm_compat_lvl, ctx)) {
200199
set_GSSERR(ERR_BADLMLVL);
201200
goto done;
202201
}
@@ -646,8 +645,7 @@ uint32_t gssntlm_accept_sec_context(uint32_t *minor_status,
646645
gssntlm_set_role(ctx, GSSNTLM_SERVER, nb_domain_name);
647646

648647
lm_compat_lvl = gssntlm_get_lm_compatibility_level();
649-
ctx->sec_req = gssntlm_required_security(lm_compat_lvl, ctx);
650-
if (ctx->sec_req == 0xff) {
648+
if (!gssntlm_required_security(lm_compat_lvl, ctx)) {
651649
set_GSSERR(ERR_BADLMLVL);
652650
goto done;
653651
}

0 commit comments

Comments
 (0)