| 933 | } |
| 934 | |
| 935 | dedicated_socket *DedicatedLogoutTelnet(dedicated_socket *conn) { |
| 936 | // user is no longer valid (so we don't attempt to send them a message |
| 937 | conn->validated = false; |
| 938 | |
| 939 | PrintDedicatedMessage(TXT_DS_REMOTECLOSE, inet_ntoa(conn->addr.sin_addr)); |
| 940 | PrintDedicatedMessage("\n"); |
| 941 | |
| 942 | shutdown(conn->sock, 2); |
| 943 | #if defined(WIN32) |
| 944 | closesocket(conn->sock); |
| 945 | #else |
| 946 | close(conn->sock); |
| 947 | #endif |
| 948 | |
| 949 | dedicated_socket *prev; |
| 950 | prev = conn->prev; |
| 951 | if (prev) { |
| 952 | prev->next = conn->next; |
| 953 | } else { |
| 954 | Head_sock = conn->next; |
| 955 | if (Head_sock) |
| 956 | Head_sock->prev = NULL; |
| 957 | } |
| 958 | |
| 959 | mem_free(conn); |
| 960 | return prev; |
| 961 | } |
| 962 | |
| 963 | void DedicatedReadTelnet(void) { |
| 964 | dedicated_socket *conn; |
no test coverage detected