跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11 开发者安全性指南 Oracle Solaris 11.1 Information Library (简体中文) |
获取服务的凭证之后,可以使用 gss-server 来查看用户是否指定了 inetd。main 函数按如下方式检查 inetd:
if (do_inetd) { close(1); close(2);
如果用户指定了使用 inetd,则程序将关闭标准输出和标准错误。然后,gss-server 会针对标准输入调用 sign_server(),inetd 将使用该函数传递连接。否则,gss-server 会创建一个套接字,使用 TCP 函数 accept() 接受该套接字的连接,然后针对 accept() 返回的文件描述符调用 sign_server()。
如果未使用 inetd,程序会创建连接和上下文,直到终止程序为止。但是,如果用户指定了 -once 选项,则循环将在首次连接之后终止。