|
@@ -1967,13 +1967,13 @@ static int sctp_verify_ext_param(struct net *net, union sctp_params param)
|
|
|
|
|
|
for (i = 0; i < num_ext; i++) {
|
|
for (i = 0; i < num_ext; i++) {
|
|
switch (param.ext->chunks[i]) {
|
|
switch (param.ext->chunks[i]) {
|
|
- case SCTP_CID_AUTH:
|
|
|
|
- have_auth = 1;
|
|
|
|
- break;
|
|
|
|
- case SCTP_CID_ASCONF:
|
|
|
|
- case SCTP_CID_ASCONF_ACK:
|
|
|
|
- have_asconf = 1;
|
|
|
|
- break;
|
|
|
|
|
|
+ case SCTP_CID_AUTH:
|
|
|
|
+ have_auth = 1;
|
|
|
|
+ break;
|
|
|
|
+ case SCTP_CID_ASCONF:
|
|
|
|
+ case SCTP_CID_ASCONF_ACK:
|
|
|
|
+ have_asconf = 1;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2000,25 +2000,24 @@ static void sctp_process_ext_param(struct sctp_association *asoc,
|
|
|
|
|
|
for (i = 0; i < num_ext; i++) {
|
|
for (i = 0; i < num_ext; i++) {
|
|
switch (param.ext->chunks[i]) {
|
|
switch (param.ext->chunks[i]) {
|
|
- case SCTP_CID_FWD_TSN:
|
|
|
|
- if (net->sctp.prsctp_enable &&
|
|
|
|
- !asoc->peer.prsctp_capable)
|
|
|
|
|
|
+ case SCTP_CID_FWD_TSN:
|
|
|
|
+ if (net->sctp.prsctp_enable && !asoc->peer.prsctp_capable)
|
|
asoc->peer.prsctp_capable = 1;
|
|
asoc->peer.prsctp_capable = 1;
|
|
- break;
|
|
|
|
- case SCTP_CID_AUTH:
|
|
|
|
- /* if the peer reports AUTH, assume that he
|
|
|
|
- * supports AUTH.
|
|
|
|
- */
|
|
|
|
- if (net->sctp.auth_enable)
|
|
|
|
- asoc->peer.auth_capable = 1;
|
|
|
|
- break;
|
|
|
|
- case SCTP_CID_ASCONF:
|
|
|
|
- case SCTP_CID_ASCONF_ACK:
|
|
|
|
- if (net->sctp.addip_enable)
|
|
|
|
- asoc->peer.asconf_capable = 1;
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
|
|
+ break;
|
|
|
|
+ case SCTP_CID_AUTH:
|
|
|
|
+ /* if the peer reports AUTH, assume that he
|
|
|
|
+ * supports AUTH.
|
|
|
|
+ */
|
|
|
|
+ if (net->sctp.auth_enable)
|
|
|
|
+ asoc->peer.auth_capable = 1;
|
|
|
|
+ break;
|
|
|
|
+ case SCTP_CID_ASCONF:
|
|
|
|
+ case SCTP_CID_ASCONF_ACK:
|
|
|
|
+ if (net->sctp.addip_enable)
|
|
|
|
+ asoc->peer.asconf_capable = 1;
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2266,14 +2265,14 @@ int sctp_verify_init(struct net *net, const struct sctp_association *asoc,
|
|
|
|
|
|
result = sctp_verify_param(net, asoc, param, cid, chunk, errp);
|
|
result = sctp_verify_param(net, asoc, param, cid, chunk, errp);
|
|
switch (result) {
|
|
switch (result) {
|
|
- case SCTP_IERROR_ABORT:
|
|
|
|
- case SCTP_IERROR_NOMEM:
|
|
|
|
- return 0;
|
|
|
|
- case SCTP_IERROR_ERROR:
|
|
|
|
- return 1;
|
|
|
|
- case SCTP_IERROR_NO_ERROR:
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
|
|
+ case SCTP_IERROR_ABORT:
|
|
|
|
+ case SCTP_IERROR_NOMEM:
|
|
|
|
+ return 0;
|
|
|
|
+ case SCTP_IERROR_ERROR:
|
|
|
|
+ return 1;
|
|
|
|
+ case SCTP_IERROR_NO_ERROR:
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
|
|
} /* for (loop through all parameters) */
|
|
} /* for (loop through all parameters) */
|