better message when request is too large
This commit is contained in:
@@ -2101,8 +2101,13 @@ int camessage (struct client *client, struct message_buffer *recv)
|
||||
tmp_postsize = ntohs (mp->m_postsize);
|
||||
msgsize = tmp_postsize + sizeof(*mp);
|
||||
|
||||
if (msgsize > bytes_left)
|
||||
if (msgsize > bytes_left) {
|
||||
if ( msgsize > recv->cnt ) {
|
||||
log_header ( "rsrv: CA message received was too large", client, mp, nmsg );
|
||||
return RSRV_ERROR;
|
||||
}
|
||||
return RSRV_OK;
|
||||
}
|
||||
|
||||
/* Have complete message (header + content)
|
||||
* -> convert the header elements
|
||||
|
||||
@@ -64,7 +64,8 @@ void camsgtask (struct client *client)
|
||||
(int)(sizeof(client->recv.buf)-client->recv.cnt), 0);
|
||||
if (nchars==0){
|
||||
if (CASDEBUG>0) {
|
||||
errlogPrintf ("CAS: nill message disconnect\n");
|
||||
errlogPrintf ( "CAS: nill message disconnect ( %u bytes request )\n",
|
||||
sizeof (client->recv.buf) - client->recv.cnt );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -120,14 +120,14 @@ struct client *create_base_client ()
|
||||
client->proto = IPPROTO_UDP;
|
||||
client->minor_version_number = CA_UKN_MINOR_VERSION;
|
||||
|
||||
client->send.maxstk = MAX_UDP;
|
||||
client->send.maxstk = MAX_UDP_SEND;
|
||||
|
||||
client->lock = semMutexMustCreate();
|
||||
client->putNotifyLock = semMutexMustCreate();
|
||||
client->addrqLock = semMutexMustCreate();
|
||||
client->eventqLock = semMutexMustCreate();
|
||||
|
||||
client->recv.maxstk = ETHERNET_MAX_UDP;
|
||||
client->recv.maxstk = MAX_UDP_RECV;
|
||||
return client;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user