Browse Source

WPS: Allow minor version differences in Version attribute check

Version attribute processing details are not described in the WPS spec,
but it is safer to allow minor version to change and only refuse to
process the message if major version is different from ours. This
matches with the behavior used in the Intel reference implementation.
Jouni Malinen 16 years ago
parent
commit
b93b6004e4
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/wps/wps_i.h

+ 2 - 1
src/wps/wps_i.h

@@ -241,7 +241,8 @@ enum wps_process_res wps_registrar_process_msg(struct wps_data *wps,
 
 static inline int wps_version_supported(const u8 *version)
 {
-	return version && *version == WPS_VERSION;
+	/* Require major version match, but allow minor version differences */
+	return version && (*version & 0xf0) == (WPS_VERSION & 0xf0);
 }
 
 #endif /* WPS_I_H */