diff --git a/src/server/ChangeLog b/src/server/ChangeLog index 2beadd1cbb79d6f29c93b142f32f7f222ca6b89b..a87efe2feba7a7210f120d14bbfd74458e4bdb9f 100644 --- a/src/server/ChangeLog +++ b/src/server/ChangeLog @@ -1,5 +1,11 @@ Mon Dec 16 15:32:57 1991 Per Cederqvist (ceder at ruben) + * admin.c (broadcast, send_message): Don't forget to check the + length of the message. + + * text.c (create_text, create_anonymous_text): Fixed error in max + length comparison. + * All the changes below fixes one single bug. When a text is created that has both a secret and a public conference as recipient the asynchronous messages that were sent out did not diff --git a/src/server/admin.c b/src/server/admin.c index f705c425895613a46c0fde72f3d2c3a7ca3d6f4d..797078adc57a8da5db32ad43c9cdebd5715743fb 100644 --- a/src/server/admin.c +++ b/src/server/admin.c @@ -1,5 +1,5 @@ /* - * $Id: admin.c,v 0.5 1991/09/15 10:33:25 linus Exp $ + * $Id: admin.c,v 0.6 1991/12/16 17:44:22 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -28,7 +28,7 @@ * Administrative calls. */ -static char *rcsid = "$Id: admin.c,v 0.5 1991/09/15 10:33:25 linus Exp $"; +static char *rcsid = "$Id: admin.c,v 0.6 1991/12/16 17:44:22 ceder Exp $"; #include <stdlib.h> #include "lyskomd.h" @@ -138,6 +138,12 @@ broadcast (String message) { CHK_LOGIN(FAILURE); + if (s_strlen(message) > BROADCAST_LEN) + { + kom_errno = KOM_LONG_STR; + return FAILURE; + } + async_broadcast(ACTPERS, message); return OK; } @@ -151,6 +157,12 @@ send_message (Pers_no recipient, { CHK_LOGIN(FAILURE); + if (s_strlen(message) > BROADCAST_LEN) + { + kom_errno = KOM_LONG_STR; + return FAILURE; + } + return async_send_message(recipient, ACTPERS, message); } diff --git a/src/server/text.c b/src/server/text.c index 94d0d52b6fad59a6187592e60dc5a34a2ecf6e60..b8538ea7b2cac229b716262fb6e1049657978d61 100644 --- a/src/server/text.c +++ b/src/server/text.c @@ -1,5 +1,5 @@ /* - * $Id: text.c,v 0.11 1991/12/16 16:43:51 ceder Exp $ + * $Id: text.c,v 0.12 1991/12/16 17:44:19 ceder Exp $ * Copyright (C) 1991 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -28,7 +28,7 @@ * All atomic calls that deals with texts. */ -static char *rcsid = "$Id: text.c,v 0.11 1991/12/16 16:43:51 ceder Exp $"; +static char *rcsid = "$Id: text.c,v 0.12 1991/12/16 17:44:19 ceder Exp $"; #include <time.h> #include <stdlib.h> @@ -1762,7 +1762,7 @@ create_text(String message, /* Check the length of the text. */ - if ( s_strlen (message) >= TEXT_LEN ) + if ( s_strlen (message) > TEXT_LEN ) { kom_errno = KOM_LONG_STR; return 0; @@ -1835,7 +1835,7 @@ create_anonymous_text(String message, /* Check the length of the text. */ - if ( s_strlen (message) >= TEXT_LEN ) + if ( s_strlen (message) > TEXT_LEN ) { kom_errno = KOM_LONG_STR; return 0;