connected client needs to provide a username which will be communicated to rejected clients
This commit is contained in:
parent
55367f5fee
commit
75b30f3aa6
5 changed files with 63 additions and 17 deletions
8
server.c
8
server.c
|
@ -104,7 +104,7 @@ int server_accept(struct server_t *server, struct client_t *accepted_client) {
|
|||
}
|
||||
|
||||
/* Rejects incoming client connection. Errors with rejected client are ignored. */
|
||||
int server_reject(struct server_t *server) {
|
||||
int server_reject(struct server_t *server, struct client_t *client) {
|
||||
|
||||
int namelen;
|
||||
struct client_t rclient;
|
||||
|
@ -114,8 +114,10 @@ int server_reject(struct server_t *server) {
|
|||
/* accept connection request */
|
||||
namelen = sizeof(rclient.address);
|
||||
rclient.socket = accept(server->socket, (struct sockaddr *) &rclient.address, (socklen_t *) &namelen);
|
||||
/* send reject message */
|
||||
sprintf(reject_msg, "[%s] port %u is already being used\n", __func__, server->port);
|
||||
/* send reject message to client */
|
||||
time2string(client->last_active, timestamp);
|
||||
sprintf(reject_msg, "\nPort %u is already being used:\ncurrent user: %s\nlast activity: @ %s\n\n",
|
||||
server->port, client->username, timestamp);
|
||||
send(rclient.socket, reject_msg, strlen(reject_msg), 0);
|
||||
/* close connection */
|
||||
close(rclient.socket);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue