078cdbcb81
The songgao/water library's InterfaceName parameter is a selection filter that searches the Windows registry for an existing adapter with a matching friendly name — it cannot name a new adapter during creation. Passing name=tap0 caused the library to fail before even creating the adapter. Fix by omitting InterfaceName from water.New(), letting Windows auto-name the adapter, then renaming via netsh if a custom name was specified. Also add directory validation to file handler to catch misconfig early.