0
我已經使用TCP_MD5SIG在C,Linux中使用API - setsockopt()爲連接創建密碼/密鑰。這對我來說很好。然而,當我用它來刪除密碼/禁用與相同的API授權除了如何刪除setsockopt-C,Linux中由TCP_MD5SIG設置的授權?
struct_tcp_md5sig.tcm_Key = 0;
struc tcp_md5sig.tcm_keylen = 0;
I see that when I invoke the same API -
rc = setsockopt(sock_fd, IPPROTO_TCP, TCP_MD5SIG, &md5sig, sizeof(md5sig));
I see that the rc is -1. The strerror says that "no such file or directory".
我對我應該做的事情以禁用授權困惑。當我傳遞密碼時,相同的API起作用。另一方面,當我想禁用授權時,相同的API不起作用。我已經在內核中啓用了這個協議。因此,在內核中啓用此功能沒有問題。
這就是爲什麼它說「沒有這樣的文件或目錄」? –
是的。你可以在內核代碼(['tcp_md5_do_del'](http://lxr.free-electrons.com/source/net/ipv4/tcp_ipv4.c?v=4.2#L955))中看到它返回'-ENOENT'如果它找不到該地址的條目 – Hasturkun