Lines Matching refs:sqn
46 * SQN generation follows the not time-based Profile 2 described in
88 u8 sqn[6];
127 " sqn CHAR(12) NOT NULL"
188 if (os_strcmp(col[i], "sqn") == 0 && argv[i] &&
189 hexstr2bin(argv[i], m->sqn, sizeof(m->sqn))) {
190 printf("Invalid sqn value in database\n");
209 "SELECT ki,opc,amf,sqn FROM milenage WHERE imsi=%llu;",
229 pos += wpa_snprintf_hex(pos, sizeof(val), m->sqn, 6);
232 "UPDATE milenage SET sqn='%s' WHERE imsi=%s;",
235 printf("Failed to update SQN in database for IMSI %s\n",
427 /* Parse IMSI Ki OPc AMF SQN */
509 /* SQN */
513 if (strlen(pos) != 12 || hexstr2bin(pos, m->sqn, 6)) {
555 /* IMSI Ki OPc AMF SQN */
581 pos += wpa_snprintf_hex(pos, end - pos, m->sqn, 6);
748 static void inc_sqn(u8 *sqn)
753 * SQN = SEQ | IND = SEQ1 | SEQ2 | IND
756 * SQN
761 val = ((u64) WPA_GET_BE32(sqn) << 16) | ((u64) WPA_GET_BE16(sqn + 4));
765 WPA_PUT_BE32(sqn, val >> 16);
766 WPA_PUT_BE16(sqn + 4, val & 0xffff);
789 inc_sqn(m->sqn);
795 printf("AKA: Milenage with SQN=%02x%02x%02x%02x%02x%02x\n",
796 m->sqn[0], m->sqn[1], m->sqn[2],
797 m->sqn[3], m->sqn[4], m->sqn[5]);
799 milenage_generate(m->opc, m->amf, m->ki, m->sqn, _rand,
846 u8 _auts[EAP_AKA_AUTS_LEN], _rand[EAP_AKA_RAND_LEN], sqn[6];
879 if (milenage_auts(m->opc, m->ki, _rand, _auts, sqn)) {
882 memcpy(m->sqn, sqn, 6);
885 "SQN=%02x%02x%02x%02x%02x%02x\n",
886 sqn[0], sqn[1], sqn[2], sqn[3], sqn[4], sqn[5]);
1017 " -u = update SQN in Milenage file on exit\n"
1023 " -i<IND len in bits> = IND length for SQN (default: 5)\n"