rdpdr/drive: fixes for hung peers & info requests
rdpdr/drive: fixes for hung peers & info requests

drive_file_init: only allow directories and regular files
This is fixes issue #2071

Even if the server is only interested in getting a file's or directory's
attributes FreeRDP still tries to open the object with read permissions.
If the FreeRDP client has no read permissions for this object the call will
fail which forces the server to perform some expensive workarounds (e.g.
getting to the stat buffers via a directory enumeration request).

On Linux we can try to open the file or directory with the O_PATH flag in
order to obtain a file descriptor who's only purpose is to perform operations
that act purely at the file descriptor level.

llyzs/FreeRDP,chipitsine/FreeRDP,peterh/FreeRDP,DavBfr/FreeRDP,DavBfr/FreeRDP,rjcorrig/FreeRDP,bsagal/FreeRDP,awakecoding/FreeRDP,Testinos/Freerdp,Devolutions/FreeRDP,zhangximin/FreeRDP,colemickens/FreeRDP,nfedera/FreeRDP,RolKau/FreeRDP,MartinHaimberger/FreeRDP,oshogbo/FreeRDP,DavBfr/FreeRDP,Testinos/Freerdp,chipitsine/FreeRDP,ssieb/FreeRDP,bjcollins/FreeRDP,tinixx/FreeRDP,oshogbo/FreeRDP,peterh/FreeRDP,lmcro/FreeRDP,ondrejholy/FreeRDP,chipitsine/FreeRDP,bceverly/FreeRDP,daneshih1125/FreeRDP,bsagal/FreeRDP,lmcro/FreeRDP,ondrejholy/FreeRDP,bsagal/FreeRDP,briggsbog/FreeRDP,DavBfr/FreeRDP,cloudbase/FreeRDP-dev,massuda-marcelo/FreeRDP,Distrotech/FreeRDP,MartinHaimberger/FreeRDP,tinixx/FreeRDP,lmcro/FreeRDP,ilammy/FreeRDP,mfleisz/FreeRDP,clivest/FreeRDP,massuda-marcelo/FreeRDP,weinyzhou/FreeRDP,DavBfr/FreeRDP,xproax/FreeRDP,nfedera/FreeRDP,RolKau/FreeRDP,MartinHaimberger/FreeRDP,akallabeth/FreeRDP,kingland/FreeRDP,zavadovsky/FreeRDP,nanxiongchao/FreeRDP,nfedera/FreeRDP,anjoah/FreeRDP,realjiangms/FreeRDP,bsagal/FreeRDP,Testinos/Freerdp,aballier/FreeRDP,bceverly/FreeRDP,daneshih1125/FreeRDP,eledoux/FreeRDP,FreeRDP/FreeRDP,clivest/FreeRDP,xproax/FreeRDP,bjcollins/FreeRDP,xhaakon/FreeRDP,FreeRDP/FreeRDP,xhaakon/FreeRDP,nfedera/FreeRDP,everhopingandwaiting/FreeRDP,akallabeth/FreeRDP,colemickens/FreeRDP,clivest/FreeRDP,infelt/FreeRDP,mcnestrb/FreeRDP,nfedera/FreeRDP,llyzs/FreeRDP,tinixx/FreeRDP,everhopingandwaiting/FreeRDP,vaginessa/FreeRDP,akallabeth/FreeRDP,weinyzhou/FreeRDP,cloudbase/FreeRDP-dev,BUGgs/FreeRDP,massuda-marcelo/FreeRDP,weinyzhou/FreeRDP,DavBfr/FreeRDP,ivan-83/FreeRDP,erbth/FreeRDP,bceverly/FreeRDP,ssieb/FreeRDP,peterh/FreeRDP,xproax/FreeRDP,yurashek/FreeRDP,lmcro/FreeRDP,nanxiongchao/FreeRDP,Testinos/Freerdp,cedrozor/FreeRDP,vworkspace/FreeRDP,zhangximin/FreeRDP,erbth/FreeRDP,realjiangms/FreeRDP,Distrotech/FreeRDP,RolKau/FreeRDP,mcnestrb/FreeRDP,tc-anssi/FreeRDP,mfleisz/FreeRDP,BUGgs/FreeRDP,FreeRDP/FreeRDP,realjiangms/FreeRDP,vaginessa/FreeRDP,cloudbase/FreeRDP-dev,bceverly/FreeRDP,dvincent-devolutions/FreeRDP,bsagal/FreeRDP,hyacinthes/FreeRDP,Testinos/Freerdp,erbth/FreeRDP,Distrotech/FreeRDP,realjiangms/FreeRDP,briggsbog/FreeRDP,daneshih1125/FreeRDP,llyzs/FreeRDP,cedrozor/FreeRDP,ssieb/FreeRDP,oshogbo/FreeRDP,xproax/FreeRDP,yurashek/FreeRDP,chipitsine/FreeRDP,RolKau/FreeRDP,eledoux/FreeRDP,infelt/FreeRDP,bmiklautz/FreeRDP,vworkspace/FreeRDP,zavadovsky/FreeRDP,chipitsine/FreeRDP,DavBfr/FreeRDP,yurashek/FreeRDP,erbth/FreeRDP,bsagal/FreeRDP,oshogbo/FreeRDP,rjcorrig/FreeRDP,colemickens/FreeRDP,mcnestrb/FreeRDP,mcnestrb/FreeRDP,anjoah/FreeRDP,RangeeGmbH/FreeRDP,zhangximin/FreeRDP,clivest/FreeRDP,yurashek/FreeRDP,zavadovsky/FreeRDP,clivest/FreeRDP,RolKau/FreeRDP,peterh/FreeRDP,ssieb/FreeRDP,aballier/FreeRDP,anjoah/FreeRDP,BUGgs/FreeRDP,vworkspace/FreeRDP,briggsbog/FreeRDP,clivest/FreeRDP,infelt/FreeRDP,daneshih1125/FreeRDP,weinyzhou/FreeRDP,ivan-83/FreeRDP,FreeRDP/FreeRDP,colemickens/FreeRDP,briggsbog/FreeRDP,cloudbase/FreeRDP-dev,briggsbog/FreeRDP,zavadovsky/FreeRDP,BUGgs/FreeRDP,mfleisz/FreeRDP,zhangximin/FreeRDP,cedrozor/FreeRDP,infelt/FreeRDP,llyzs/FreeRDP,eledoux/FreeRDP,lmcro/FreeRDP,ivan-83/FreeRDP,infelt/FreeRDP,eledoux/FreeRDP,ssieb/FreeRDP,infelt/FreeRDP,awakecoding/FreeRDP,ondrejholy/FreeRDP,weinyzhou/FreeRDP,akallabeth/FreeRDP,RangeeGmbH/FreeRDP,dvincent-devolutions/FreeRDP,aballier/FreeRDP,akallabeth/FreeRDP,chipitsine/FreeRDP,cloudbase/FreeRDP-dev,anjoah/FreeRDP,infelt/FreeRDP,rjcorrig/FreeRDP,peterh/FreeRDP,clivest/FreeRDP,cloudbase/FreeRDP-dev,BUGgs/FreeRDP,ilammy/FreeRDP,rjcorrig/FreeRDP,yurashek/FreeRDP,ivan-83/FreeRDP,erbth/FreeRDP,mcnestrb/FreeRDP,aballier/FreeRDP,llyzs/FreeRDP,RangeeGmbH/FreeRDP,bceverly/FreeRDP,ssieb/FreeRDP,mfleisz/FreeRDP,akallabeth/FreeRDP,RangeeGmbH/FreeRDP,RangeeGmbH/FreeRDP,vaginessa/FreeRDP,eledoux/FreeRDP,mfleisz/FreeRDP,erbth/FreeRDP,oshogbo/FreeRDP,MartinHaimberger/FreeRDP,mcnestrb/FreeRDP,Distrotech/FreeRDP,realjiangms/FreeRDP,ssieb/FreeRDP,Devolutions/FreeRDP,bjcollins/FreeRDP,MartinHaimberger/FreeRDP,tc-anssi/FreeRDP,kingland/FreeRDP,oshogbo/FreeRDP,daneshih1125/FreeRDP,cedrozor/FreeRDP,dvincent-devolutions/FreeRDP,yurashek/FreeRDP,zhangximin/FreeRDP,FreeRDP/FreeRDP,awakecoding/FreeRDP,RangeeGmbH/FreeRDP,anjoah/FreeRDP,ilammy/FreeRDP,ivan-83/FreeRDP,lmcro/FreeRDP,oshogbo/FreeRDP,tinixx/FreeRDP,BUGgs/FreeRDP,anjoah/FreeRDP,lmcro/FreeRDP,vworkspace/FreeRDP,chipitsine/FreeRDP,bceverly/FreeRDP,RolKau/FreeRDP,vworkspace/FreeRDP,xhaakon/FreeRDP,BUGgs/FreeRDP,ssieb/FreeRDP,xproax/FreeRDP,bjcollins/FreeRDP,vaginessa/FreeRDP,mfleisz/FreeRDP,hyacinthes/FreeRDP,zavadovsky/FreeRDP,Distrotech/FreeRDP,vworkspace/FreeRDP,kingland/FreeRDP,awakecoding/FreeRDP,tinixx/FreeRDP,Devolutions/FreeRDP,ilammy/FreeRDP,zhangximin/FreeRDP,massuda-marcelo/FreeRDP,rjcorrig/FreeRDP,Devolutions/FreeRDP,everhopingandwaiting/FreeRDP,bmiklautz/FreeRDP,bjcollins/FreeRDP,yurashek/FreeRDP,lmcro/FreeRDP,infelt/FreeRDP,zhangximin/FreeRDP,nfedera/FreeRDP,mfleisz/FreeRDP,weinyzhou/FreeRDP,vaginessa/FreeRDP,bmiklautz/FreeRDP,tinixx/FreeRDP,tinixx/FreeRDP,akallabeth/FreeRDP,ondrejholy/FreeRDP,mcnestrb/FreeRDP,aballier/FreeRDP,cedrozor/FreeRDP,xproax/FreeRDP,dvincent-devolutions/FreeRDP,zhangximin/FreeRDP,nfedera/FreeRDP,aballier/FreeRDP,hyacinthes/FreeRDP,bjcollins/FreeRDP,daneshih1125/FreeRDP,peterh/FreeRDP,briggsbog/FreeRDP,DavBfr/FreeRDP,RangeeGmbH/FreeRDP,colemickens/FreeRDP,clivest/FreeRDP,Distrotech/FreeRDP,aballier/FreeRDP,Testinos/Freerdp,cloudbase/FreeRDP-dev,colemickens/FreeRDP,nanxiongchao/FreeRDP,yurashek/FreeRDP,colemickens/FreeRDP,xhaakon/FreeRDP,bceverly/FreeRDP,bmiklautz/FreeRDP,kingland/FreeRDP,anjoah/FreeRDP,nanxiongchao/FreeRDP,ilammy/FreeRDP,xhaakon/FreeRDP,ivan-83/FreeRDP,mfleisz/FreeRDP,nfedera/FreeRDP,xproax/FreeRDP,Distrotech/FreeRDP,hyacinthes/FreeRDP,Devolutions/FreeRDP,eledoux/FreeRDP,everhopingandwaiting/FreeRDP,vaginessa/FreeRDP,awakecoding/FreeRDP,Testinos/Freerdp,hyacinthes/FreeRDP,rjcorrig/FreeRDP,oshogbo/FreeRDP,everhopingandwaiting/FreeRDP,vaginessa/FreeRDP,aballier/FreeRDP,tc-anssi/FreeRDP,bjcollins/FreeRDP,bsagal/FreeRDP,hyacinthes/FreeRDP,Devolutions/FreeRDP,briggsbog/FreeRDP,ondrejholy/FreeRDP,Devolutions/FreeRDP,cedrozor/FreeRDP,chipitsine/FreeRDP,erbth/FreeRDP,mcnestrb/FreeRDP,akallabeth/FreeRDP,eledoux/FreeRDP,bjcollins/FreeRDP,tinixx/FreeRDP,RolKau/FreeRDP,awakecoding/FreeRDP,bceverly/FreeRDP,MartinHaimberger/FreeRDP,hyacinthes/FreeRDP,MartinHaimberger/FreeRDP,bmiklautz/FreeRDP,FreeRDP/FreeRDP,nanxiongchao/FreeRDP,vaginessa/FreeRDP,BUGgs/FreeRDP,peterh/FreeRDP,vworkspace/FreeRDP,llyzs/FreeRDP,tc-anssi/FreeRDP,rjcorrig/FreeRDP,tc-anssi/FreeRDP,massuda-marcelo/FreeRDP,ilammy/FreeRDP,bmiklautz/FreeRDP,massuda-marcelo/FreeRDP,bmiklautz/FreeRDP,awakecoding/FreeRDP,nanxiongchao/FreeRDP,realjiangms/FreeRDP,xhaakon/FreeRDP,rjcorrig/FreeRDP,nanxiongchao/FreeRDP,everhopingandwaiting/FreeRDP,colemickens/FreeRDP,ondrejholy/FreeRDP,RangeeGmbH/FreeRDP,massuda-marcelo/FreeRDP,massuda-marcelo/FreeRDP,vworkspace/FreeRDP,tc-anssi/FreeRDP,eledoux/FreeRDP,ilammy/FreeRDP,llyzs/FreeRDP,RolKau/FreeRDP,realjiangms/FreeRDP,dvincent-devolutions/FreeRDP,ilammy/FreeRDP,daneshih1125/FreeRDP,kingland/FreeRDP,nanxiongchao/FreeRDP,kingland/FreeRDP,bmiklautz/FreeRDP,weinyzhou/FreeRDP,bsagal/FreeRDP,briggsbog/FreeRDP,xhaakon/FreeRDP,FreeRDP/FreeRDP,MartinHaimberger/FreeRDP,Distrotech/FreeRDP,ivan-83/FreeRDP,ondrejholy/FreeRDP,xhaakon/FreeRDP,FreeRDP/FreeRDP,peterh/FreeRDP,erbth/FreeRDP,weinyzhou/FreeRDP,kingland/FreeRDP,zavadovsky/FreeRDP,daneshih1125/FreeRDP,awakecoding/FreeRDP,realjiangms/FreeRDP,ondrejholy/FreeRDP,dvincent-devolutions/FreeRDP,llyzs/FreeRDP,everhopingandwaiting/FreeRDP,cedrozor/FreeRDP,tc-anssi/FreeRDP,everhopingandwaiting/FreeRDP,Devolutions/FreeRDP,anjoah/FreeRDP,zavadovsky/FreeRDP,dvincent-devolutions/FreeRDP,zavadovsky/FreeRDP,kingland/FreeRDP,dvincent-devolutions/FreeRDP,ivan-83/FreeRDP,tc-anssi/FreeRDP,xproax/FreeRDP,cedrozor/FreeRDP