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 は機能しません。カーネルでこのプロトコルを有効にしました。したがって、カーネルでこの機能を有効にしても問題はありません。