2013-05-28 56 views
0

我在C上实现了一个TFTP的顶层,我试图弄清楚如何检查目录的读写权限该转移将发生。对于文件的存在以及文件不存在的情况,我使用了F_OK的access(),但是W_OK和R_OK在尝试检查目录权限时似乎很麻烦,我查看了stat(),但未能正确实施。关于目录而不是文件的替代方案或正确实现stat()或access()的任何想法。UDP上的TFTP:检查服务器/客户端目录上的写入权限

+0

你试过opendir()吗?但我猜想它适用于运行TFTP的本地计算机 –

+0

不,我没有,因为我不需要打开一个目录;服务器和客户端都运行在它们各自的本地目录中,现在我只想检查相同本地目录的读写权限(因为我的tftp目前仅支持该权限)。因此,如果操作不被允许(未设置权限),则会向对等方(服务器或客户端)发送错误数据包 – EasyQuestions

+0

也许您可以发布或链接到目前为止的stat()和access()代码。 – thuovila

回答

1

另一种想法:您不需要检查目录的权限;只是尝试打开文件,并发送产生的错误代码。

+0

未能打开文件(获取FILE指针为空)可能是许多原因造成的,因为拒绝写入权限是否设置了特殊的错误标志? – EasyQuestions

+0

我通过添加更多检查来完成这项工作。谢谢 – EasyQuestions