Improve patty_ax25_sock_params_set() validation

Changes:

    * Improve patty_ax25_sock_params_set() validation by setting ENOTSUP
      when setting options on a socket that don't make sense, such as no
      Asynchronous Balanced Mode
This commit is contained in:
XANTRONIX Development 2020-07-24 21:04:14 -04:00 committed by XANTRONIX Industrial
parent e90b5803bf
commit 1a87ac3858

View file

@ -183,18 +183,15 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock,
patty_ax25_params *params) {
if (params->flags & PATTY_AX25_PARAM_CLASSES) {
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_ABM)) {
goto error_invalid;
goto error_notsup;
}
/*
* TODO: Eventually support full duplex
*/
if (!(params->classes & PATTY_AX25_PARAM_CLASSES_HALF_DUPLEX)) {
goto error_invalid;
goto error_notsup;
}
if (params->classes & PATTY_AX25_PARAM_CLASSES_FULL_DUPLEX) {
goto error_invalid;
goto error_notsup;
}
}
@ -259,6 +256,11 @@ int patty_ax25_sock_params_set(patty_ax25_sock *sock,
return 0;
error_notsup:
errno = ENOTSUP;
return -1;
error_invalid:
errno = EINVAL;