I tried reading from a fifo on Windows via samba to see if it worked or not (I might have something interesting to do with it if it did), and found that it does not. ReadFile() returns 0 bytes immediately where it would be expected to block.
An internet search found one nice old google groups thread. https://groups.google.com/g/linux.samba/c/lkkziMXkgP4 So, this used to work, in 2011. Fun.
This is my smb.conf with sensitive material and comments removed.
[global]
name resolve order = bcast host lmhosts wins
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
security = ads
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
min protocol = SMB2
client signing = mandatory
server signing = mandatory
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /home/%D/%U
template shell = /bin/bash
root preexec = /etc/samba/makehomedir.sh %U
usershare allow guests = yes
[allusers]
comment = "User Home Directories"
guest ok = no
read only = no
[printers]
comment = All Printers
browseable = no
path = /var/tmp
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
The fifo is in my home directory. Saying it needs to be in a special directory is an answer I can test for.
There's one important thing you don't see. Hide special files is not set.
So the question is: Is this a misconfiguration, a bug in samba, or is this really not expected to work anymore?
Samba version 4.17.12