[PATCH] bearer-qmi: don't add auth settings if no user/pass/auth given
Dan Williams
dcbw at redhat.com
Wed Oct 21 08:10:08 PDT 2015
On Tue, 2015-10-20 at 11:29 +0200, Aleksander Morgado wrote:
> Auth settings will be added in a QMI message only if at least one of these is
> requested:
> * An explicit auth preference is requested.
> * User string is given and isn't empty.
> * Password string is given and isn't empty.
> ---
>
> Any comment on this patch?
Looks fine to me.
Dan
> ---
> src/mm-bearer-qmi.c | 22 ++++++++++++++++------
> 1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c
> index 408b9cd..803b19d 100644
> --- a/src/mm-bearer-qmi.c
> +++ b/src/mm-bearer-qmi.c
> @@ -222,6 +222,7 @@ static QmiMessageWdsStartNetworkInput *
> build_start_network_input (ConnectContext *ctx)
> {
> QmiMessageWdsStartNetworkInput *input;
> + gboolean has_user, has_password;
>
> g_assert (ctx->running_ipv4 || ctx->running_ipv6);
> g_assert (!(ctx->running_ipv4 && ctx->running_ipv6));
> @@ -231,12 +232,21 @@ build_start_network_input (ConnectContext *ctx)
> if (ctx->apn && ctx->apn[0])
> qmi_message_wds_start_network_input_set_apn (input, ctx->apn, NULL);
>
> - if (ctx->auth != QMI_WDS_AUTHENTICATION_NONE) {
> - qmi_message_wds_start_network_input_set_authentication_preference (input, ctx->auth, NULL);
> + has_user = (ctx->user && ctx->user[0]);
> + has_password = (ctx->password && ctx->password[0]);
>
> - if (ctx->user)
> + /* Need to add auth info? */
> + if (has_user || has_password || ctx->auth != QMI_WDS_AUTHENTICATION_NONE) {
> + /* We define a valid auth preference if we have either user or password, or a explicit
> + * request for one to be set. If no explicit one was given, default to PAP. */
> + qmi_message_wds_start_network_input_set_authentication_preference (
> + input,
> + (ctx->auth != QMI_WDS_AUTHENTICATION_NONE) ? ctx->auth : QMI_WDS_AUTHENTICATION_PAP,
> + NULL);
> +
> + if (has_user)
> qmi_message_wds_start_network_input_set_username (input, ctx->user, NULL);
> - if (ctx->password)
> + if (has_password)
> qmi_message_wds_start_network_input_set_password (input, ctx->password, NULL);
> }
>
> @@ -1032,8 +1042,8 @@ _connect (MMBaseBearer *self,
> g_object_unref (properties);
>
> if (auth == MM_BEARER_ALLOWED_AUTH_UNKNOWN) {
> - mm_dbg ("Using default (PAP) authentication method");
> - ctx->auth = QMI_WDS_AUTHENTICATION_PAP;
> + /* We'll default to PAP later if needed */
> + ctx->auth = QMI_WDS_AUTHENTICATION_NONE;
> } else if (auth & (MM_BEARER_ALLOWED_AUTH_PAP |
> MM_BEARER_ALLOWED_AUTH_CHAP |
> MM_BEARER_ALLOWED_AUTH_NONE)) {
> --
> 2.6.1
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
More information about the ModemManager-devel
mailing list