如何在telnetd中设置环境变量并在login中访问它

如何在telnetd中设置环境变量并在login中访问它,telnet,Telnet,鉴于此 telnetd通过为一个终端分配一个Telnet伪终端设备来运行 客户端,然后创建一个登录进程,该进程具有 Telnet伪终端,如stdin、stdout和stderr。守护进程 操纵Telnet伪终端的主端, 实现TELNET协议,并在 客户端和登录过程 我试图在登录过程中获得远程主机的IP地址和端口号,一旦建立了telnet连接并对用户进行了身份验证 在telnetd main()中,在getpeername成功后,我添加了远程\u主机和远程\u端口的setenv 并尝试在登录过程中

鉴于此

telnetd通过为一个终端分配一个Telnet伪终端设备来运行 客户端,然后创建一个登录进程,该进程具有 Telnet伪终端,如stdin、stdout和stderr。守护进程 操纵Telnet伪终端的主端, 实现TELNET协议,并在 客户端和登录过程

我试图在登录过程中获得远程主机的IP地址和端口号,一旦建立了telnet连接并对用户进行了身份验证

在telnetd main()中,在getpeername成功后,我添加了远程\u主机和远程\u端口的setenv 并尝试在登录过程中访问这些变量。但是我无法在login.c中访问这些环境变量


我的问题太具体了,但如果有人已经尝试在telnetd中添加一个env var,并且能够在登录过程中访问它,请建议我怎么做。谢谢,问题终于解决了。在telnetd中,有许多调用,其中环境被重新设置。startslave是创建tty和分叉登录进程的函数。因此,在startslave中执行了getpeername(0,(struct sockaddr*)&from和fromlen),并在分叉登录过程之前添加了环境变量。现在VAR可用