0

我已经使用 TCP_MD5SIG 使用 API - 在 C、Linux 中的 setsockopt() 为连接创建密码/密钥。这对我来说很好。但是,当我使用它来使用相同的 API 删除密码/禁用授权时,除了

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 不起作用。我已经在内核中启用了这个协议。因此,在内核中启用此功能没有问题。

4

1 回答 1

0

AFAICT,您需要确保tcp_md5sig.tcpm_addr与您注册时将其删除时相同。

于 2015-09-16T08:01:06.267 回答