Wireshark-dev: [Wireshark-dev] Case-insensitive searching for .whatever files?
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Thu, 18 Aug 2011 20:13:57 -0700
In

	http://ask.wireshark.org/questions/5726/newbie-trying-to-get-lua-scripts-to-execute

it says

	Wireshark tries to load Lua files from all plugins directories (specified in the Wireshark manual). The file extensions must be ".lua" (case sensitive). Directories under plugins are searched recursively for Lua scripts. In the following tree, for example, files a through e are loaded at startup:

		* $HOME/.wireshark/plugins/a.lua
		* $HOME/.wireshark/plugins/foo/b.lua
		* $HOME/.wireshark/plugins/foo/bar/c.lua
		* $HOME/.wireshark/plugins/foo/bar/d.lua
		* $HOME/.wireshark/plugins/foo/bar/foo2/e.lua
		* $HOME/.wireshark/plugins/foo/bar/foo2/f.Lua (ignored due to ext mismatch)
		* $HOME/.wireshark/plugins/foo/bar/foo2/g.LUA (ignored due to ext mismatch)

If we're on a case-insensitive file system, *should* those be ignored?  Similarly, we look for ".dll", but not ".DLL" or..., for plugins on Windows.

Should we have a ws_dir_get_suffix_matching_name() routine that's like ws_dir_get_name() but that takes a suffix as an argument, skips files whose names don't have that suffix and, on case-insensitive file systems, does a case-insensitive match?  On Windows, we might just assume case-insensitivity; on UN*X, we might assume case-sensitivity except on Mac OS X, in which case, at least in Snow Leopard and later (I forget when it was introduced), we could use pathconf() and _PC_CASE_SENSITIVE (I forget which file systems supported it in which releases; for AFP/SMB/NFS, it might not be possible to query the server, so they might just say "case-insensitive" for AFP and SMB and "case-sensitive" for NFS).