When to apply a probe sequence when inserting an element to a hash table

So, if we start out with an empty table with M elements. Do we always need to have a specified hash function say $ h(x) = x \% 8$ as well as a specific probing sequence to use when inserting a specific element triggers a “collision” ? So, in that way do we always try to use a “standard” hash function first and then only if a collusion occurs we use a specific probing sequence hash function that we choose for that specific table?

Is that the case or do we use the probe sequence even if the table is empty ? I’m just trying to understand if most of the time we have two functions when dealing or creating a hash table or if we use only one throughout the whole sequence of elements that are inserted or searched through.

Do modern operating systems still send targeted or directed Wi-Fi probe requests that contain SSIDs?

Do modern (versions of) operating systems, primarily Android and iOS on mobile, still send targeted or directed probe requests when searching for Wi-Fi networks to connect to?

Such targeted or directed probe requests contain the SSIDs of known networks, and may thus leak information about the sending device’s location history, the owner’s social relationships, etc.

According to this source, modern operating systems do not send these requests anymore:

Around 2014, the privacy implications of targeted probe requests started to become widely publicized and understood. Most new devices therefore stopped sending them. […] When the privacy implications of targeted request probes became widely appreciated, most new mobile devices stopped sending them altogether. […] Targeted probe requests are mostly a thing of the past.

Other sources, like this one or this one, seem to confirm that targeted probe requests are not sent anymore on the latest versions of Android, at least.

If this is indeed true, and perhaps also for iOS (and some desktop OSs), are there any press releases, bug tracker entries, security reports or code commits that confirm this?

Directed probe requests, as opposed to broadcast requests that don’t contain a network’s SSID, should only be necessary for hidden networks. The impact is stronger on mobile devices, where you tend to both have more known networks added to your device and broadcast that list in more places.

Ubuntu grub os probe creating bad entry for Arch

I recently did a new build, and wanted Arch on it – I have heard good things about it. Naturally, I also wanted a few others on there to make sure I had something I ‘knew’ how to run. Neither Ubuntu 18.04.2 nor Ubuntu 19.04 was capable of creating a grub entry that could boot Arch, even though they both found it.

Apparently they got fooled by the existence of a microcode update in EFI boot, and attempted to initrd ONLY the microcode, not initramfs-linux.img as exists in the Arch boot setup. I have tried editing the grub.cfg (yes, I know that is not persistent) just to see if that was the (entire) problem, and it appears to be so. The question then, is how do I fix it in a persistent manner?

Thoughts that occur are an attempt to modify the 30_ entry in /etc/default so it works better – skipping 30_ and doing a 40_custom for the other distros – using another boot loader? Is there an even better way – that doesn’t require modifying each additional distro after installation, perhaps? I would hate to have to add “/initramfs-linux.img” to the Arch entries in grub.cfg over and over…


Can Wifi probe requests be abused to trick clients into connecting to a fake AP?

I just read about WiFi probe requests and that it is possible to track clients by the MAC-Address in the request.

I was wondering if it would be possible to set up a malicious AP which responds “Yes, that’s me” to every probe request from clients, resulting in clients automatically connecting to that “known” network. A malicious AP could for example sniff the traffic from smartphones of people walking by whose devices automatically connected. Is that possible in theory?