pppd: Fix blank password usage
authorSimon Tate <simon.tate@bt.com>
Sat, 12 Sep 2020 20:13:26 +0000 (21:13 +0100)
committerSimon Tate <simon.tate@bt.com>
Mon, 14 Sep 2020 11:29:32 +0000 (12:29 +0100)
If a password has been provided as "", CHAP authentication wouldn't
happen. A user providing a username/password, even if blank, should be
expecting authentication to occur with those set.

Added a check for explicit_passwd property, set on finding the password
argument, to allow CHAP authentication with a blank password.

Signed-off-by: Simon Tate <simon.tate@bt.com>
pppd/auth.c

index ec137109141fa6428eed257862326aaf6048afff..3641b6ea701f11af845331926d308c366103a4d5 100644 (file)
@@ -1338,7 +1338,7 @@ auth_reset(unit)
     hadchap = -1;
     ao->neg_upap = !refuse_pap && (passwd[0] != 0 || get_pap_passwd(NULL));
     ao->neg_chap = (!refuse_chap || !refuse_mschap || !refuse_mschap_v2)
-       && (passwd[0] != 0 ||
+       && ((passwd[0] != 0 || explicit_passwd) ||
            (hadchap = have_chap_secret(user, (explicit_remote? remote_name:
                                               NULL), 0, NULL)));
     ao->neg_eap = !refuse_eap && (