if ((int) remoteDataPort != ((int) remoteCtrlPort - 1)) {
FTPLogError(cip, kDontPerror, "Data connection did not originate on correct port (expecting %d, got %d)!\n", (int) remoteCtrlPort - 1, (int) remoteDataPort);
(void) DisposeSocket(newSocket);
cip->dataSocket = kClosedFileDescriptor;
cip->errNo = kErrDataConnOriginatedFromBadPort;
return (kErrDataConnOriginatedFromBadPort);
}
}
cip->dataSocket = newSocket;
}
return (0);
} /* AcceptDataConnection */
void
HangupOnServer(const FTPCIPtr cip)
{
/* Since we want to close both sides of the connection for each
* socket, we can just have them closed with close() instead of
* using shutdown().
*/
FTPCloseControlConnection(cip);
CloseDataConnection(cip);
} /* HangupOnServer */
void
SendTelnetInterrupt(const FTPCIPtr cip)
{
unsigned char msg[4];
/* 1. User system inserts the Telnet "Interrupt Process" (IP) signal