Commit Graph
80 Commits
Author SHA1 Message Date
Hamza-AyedandClaude Opus 5 c9b4d14da6 Route account lookups through the blind index and keep it fresh on write
These are the paths that must stop depending on deterministic encryption
before storage can move to AES-GCM. Each keeps its original ciphertext
comparison in the same statement, so behaviour is unchanged today and no
account becomes unreachable during the transition.

Lookups:
- auth/login.php — passenger sign-in matched the raw value against the
  encrypted column, which only works because encryptData() is CBC with a
  fixed IV.
- auth/passenger/register.php and auth/driver/register.php — duplicate
  detection. Without the index these would stop detecting existing accounts
  under GCM and allow the same phone to register twice.

Writes now populate the index in the same statement as the value:
- both registration paths write phone/email/name indexes with the row;
  driver indexes are computed before the encryption pass, since the raw
  values are unavailable afterwards.
- passenger profile update and admin driver update refresh the index when
  the underlying field changes. For the composite name index the untouched
  half is read back from the row.

Adds --audit to the backfill script: recomputes every index from its
encrypted value and reports missing or stale entries. Drift here is silent
by nature — it surfaces only when a real search fails.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 16:04:40 +03:00
Hamza-Ayed c35b350b31 Update: 2026-07-23 16:56:57 2026-07-23 16:56:58 +03:00
Hamza-Ayed 699b380f2b Update: 2026-07-21 20:58:30 2026-07-21 20:58:30 +03:00
Hamza-Ayed 3d0c266b7a Update: 2026-07-21 20:55:19 2026-07-21 20:55:20 +03:00
Hamza-Ayed 23f697b1c6 Update: 2026-07-21 19:43:50 2026-07-21 19:43:51 +03:00
Hamza-Ayed 1bec13634a Update: 2026-07-21 19:34:29 2026-07-21 19:34:29 +03:00
Hamza-Ayed 0ee3655c05 Update: 2026-07-21 19:31:02 2026-07-21 19:31:02 +03:00
Hamza-Ayed 4f47c0ad1d Update: 2026-07-21 19:28:08 2026-07-21 19:28:08 +03:00
Hamza-Ayed f3905bcb2c Update: 2026-07-21 19:24:57 2026-07-21 19:24:57 +03:00
Hamza-Ayed 1103f6ffcf Update: 2026-07-21 19:22:23 2026-07-21 19:22:23 +03:00
Hamza-Ayed 0351bffafc Update: 2026-07-21 19:19:15 2026-07-21 19:19:15 +03:00
Hamza-Ayed 096f6a13a0 Update: 2026-07-21 19:15:57 2026-07-21 19:15:57 +03:00
Hamza-Ayed ebd6f3734a Update: 2026-07-21 19:09:42 2026-07-21 19:09:42 +03:00
Hamza-Ayed 085b180bdb feat: implement secure OTP-based payout workflow with dynamic fee calculation and improved authentication checks 2026-07-19 01:51:39 +03:00
Hamza-Ayed 27200013ac Update: 2026-07-12 17:22:40 2026-07-12 17:22:40 +03:00
Hamza-Ayed 5fb2c25504 Update: 2026-07-10 13:41:34 2026-07-10 13:41:34 +03:00
Hamza-Ayed be6e5bed92 Update: 2026-07-10 03:07:55 2026-07-10 03:07:55 +03:00
Hamza-Ayed 87dc925ea7 Refactor(Auth): Complete auth folder restructuring, security patches, and Flutter endpoint updates 2026-07-09 05:22:05 +03:00
Hamza-Ayed 45859883a5 Update: 2026-07-09 05:02:10 2026-07-09 05:02:10 +03:00
Hamza-Ayed 2152d34a8e fix: resolve stale price display in driver ratings and remove misleading discount UI in rider ratings 2026-07-09 04:48:19 +03:00
Hamza-Ayed 628e169552 Update: 2026-07-07 04:57:50 2026-07-07 04:57:51 +03:00
Hamza-Ayed 05d047d871 Update: 2026-07-02 05:27:04 2026-07-02 05:27:05 +03:00
Hamza-Ayed 2da943e745 Update: 2026-06-29 15:29:28 2026-06-29 15:29:29 +03:00
Hamza-Ayed b8a817fc9c Update: 2026-06-29 01:12:38 2026-06-29 01:12:38 +03:00
Hamza-Ayed 0af4eed1ce Update: 2026-06-29 01:10:32 2026-06-29 01:10:32 +03:00
Hamza-Ayed d695a4e812 Update: 2026-06-29 00:07:33 2026-06-29 00:07:33 +03:00
Hamza-Ayed 2da78ccd8e Update: 2026-06-28 19:52:45 2026-06-28 19:52:45 +03:00
Hamza-Ayed f9f6890b26 Update: 2026-06-28 00:42:25 2026-06-28 00:42:26 +03:00
Hamza-Ayed f428946b30 Add tester passenger creation script 2026-06-27 23:09:04 +03:00
Hamza-Ayed 3326756dc3 Add tester driver creation script 2026-06-27 23:01:38 +03:00
Hamza-Ayed 7497bdcfae Update: 2026-06-27 05:07:43 2026-06-27 05:07:43 +03:00
Hamza-Ayed f069f2b24f Update: 2026-06-27 04:58:21 2026-06-27 04:58:21 +03:00
Hamza-Ayed a6738079a2 Update: 2026-06-27 04:23:48 2026-06-27 04:23:49 +03:00
Hamza-Ayed 8993aa0a6b Update: 2026-06-27 04:21:17 2026-06-27 04:21:17 +03:00
Hamza-Ayed 0c5088fd6d add ai_data + user_input to driver table, status=pending_review, save raw Gemini response 2026-06-25 16:54:21 +03:00
Hamza-Ayed 75e4524329 fix upload: parse nested message.url, backup retries=1, connect.php auth 2026-06-25 04:30:52 +03:00
Hamza-Ayed 0b9e5dfa03 remove random suffix from uploaded filenames: now {driverID}_{imageType}.{ext} 2026-06-25 04:21:58 +03:00
Hamza-Ayed f5a5ffc10c Update: 2026-06-25 03:58:15 2026-06-25 04:00:27 +03:00
Hamza-Ayed 5b5033b110 Update: 2026-06-25 03:56:11 2026-06-25 03:58:30 +03:00
Hamza-Ayed 4f4958defb Update: 2026-06-25 03:51:57 2026-06-25 03:55:10 +03:00
Hamza-Ayed 6db2ece2ce Update: 2026-06-25 03:43:29 2026-06-25 03:43:29 +03:00
Hamza-Ayed 89c1348f08 Update: 2026-06-25 03:28:59 2026-06-25 03:28:59 +03:00
Hamza-Ayed 0671388e15 Update: 2026-06-25 00:05:45 2026-06-25 00:05:45 +03:00
Hamza-Ayed 262d882bfe Fix loginFromGooglePassenger to support passengerID request body fallback during first-time registration login flow 2026-06-25 00:02:38 +03:00
Hamza-Ayed 5f431b4f19 Fix loginFromGooglePassenger id mapping fallback to sub when user_id is new 2026-06-24 23:52:32 +03:00
Hamza-Ayed c9d07f91fe Fix loginFromGooglePassenger verification constraint 2026-06-24 23:51:06 +03:00
Hamza-Ayed cca16053da Fix OTP verification success response payload and restore deterministic encryptData 2026-06-24 23:24:41 +03:00
Hamza-Ayed 2ee3a14c6d Fix OTP verification success response payload and restore deterministic encryptData 2026-06-24 23:11:24 +03:00
Hamza-Ayed 7b0283473e Fix timezone bug in request.php using MySQL DATE_ADD and clean up EncryptionHelper 2026-06-24 23:03:45 +03:00
Hamza-Ayed 12dfb25629 Update: 2026-06-24 22:56:39 2026-06-24 22:56:39 +03:00