@@ -40,6 +40,10 @@ int setServer(char* params)
40
40
{
41
41
char host[256 ];
42
42
int port;
43
+ if (!params){
44
+ std::cerr << " [server] missing parameters" << std::endl;
45
+ return -1 ;
46
+ }
43
47
if (strlen (params) > 255 ){
44
48
std::cerr << " [server] too long host and port" << std::endl;
45
49
return -1 ;
@@ -63,6 +67,11 @@ int cmdConnect(char* params)
63
67
return -1 ;
64
68
}
65
69
70
+ if (!params){
71
+ std::cerr << " [connect] missing parameters" << std::endl;
72
+ return -1 ;
73
+ }
74
+
66
75
char password[128 ];
67
76
if (strlen (params) > 127 ){
68
77
std::cerr << " [connect] too long password" << std::endl;
@@ -83,7 +92,7 @@ int cmdConnect(char* params)
83
92
}
84
93
else {
85
94
closesocket (g_socket);
86
- std::cerr << " [connect] can not resolve server host " << std::endl;
95
+ std::cerr << " [connect] can not resolve server: " << serverHost << " - " << WSAGetLastError () << std::endl;
87
96
return -1 ;
88
97
}
89
98
}
@@ -95,7 +104,7 @@ int cmdConnect(char* params)
95
104
96
105
if (connect (g_socket, (SOCKADDR*)&serveraddr, sizeof (serveraddr)) == SOCKET_ERROR){
97
106
closesocket (g_socket);
98
- std::cerr << " [connect] can not connect to server " << serverHost << std::endl;
107
+ std::cerr << " [connect] can not connect to server: " << serverHost << " - " << WSAGetLastError () << std::endl;
99
108
return -1 ;
100
109
}
101
110
std::cout << " Connected to " << serverHost << std::endl;
@@ -104,22 +113,22 @@ int cmdConnect(char* params)
104
113
msg.AddByte (0xFE );
105
114
if (!msg.WriteToSocket (g_socket)){
106
115
closesocket (g_socket);
107
- std::cerr << " [connect] error while sending first byte" << std::endl;
116
+ std::cerr << " [connect] error while sending first byte - " << WSAGetLastError () << std::endl;
108
117
return -1 ;
109
118
}
110
119
msg.Reset ();
111
120
// read server hello
112
121
113
122
if (!msg.ReadFromSocket (g_socket)){
114
123
closesocket (g_socket);
115
- std::cerr << " [connect] error while reading hello" << std::endl;
124
+ std::cerr << " [connect] error while reading hello - " << WSAGetLastError () << std::endl;
116
125
return -1 ;
117
126
}
118
127
119
128
char byte = msg.GetByte ();
120
129
if (byte != AP_MSG_HELLO){
121
130
closesocket (g_socket);
122
- std::cerr << " [connect] no valid server hello" << std::endl;
131
+ std::cerr << " [connect] no valid server hello" << std::endl;
123
132
return -1 ;
124
133
}
125
134
msg.GetU32 ();
@@ -150,7 +159,7 @@ int cmdConnect(char* params)
150
159
151
160
if (!sendMsg (msg)){
152
161
closesocket (g_socket);
153
- std::cerr << " [connect] error while getting public key" << std::endl;
162
+ std::cerr << " [connect] error while getting public key" << std::endl;
154
163
return -1 ;
155
164
}
156
165
@@ -187,7 +196,7 @@ int cmdConnect(char* params)
187
196
188
197
uint32_t random_key[32 ];
189
198
for (unsigned int i = 0 ; i < 32 ; ++i){
190
- random_key[i] = 0x1111112 ;
199
+ random_key[i] = rand () << 16 ^ rand () ;
191
200
}
192
201
193
202
msg.setRSAInstance (RSA::getInstance ());
@@ -207,7 +216,7 @@ int cmdConnect(char* params)
207
216
208
217
if (!sendMsg (msg, random_key)){
209
218
closesocket (g_socket);
210
- std::cerr << " [connect] error while sending private key" << std::endl;
219
+ std::cerr << " [connect] error while sending private key" << std::endl;
211
220
return -1 ;
212
221
}
213
222
@@ -230,7 +239,7 @@ int cmdConnect(char* params)
230
239
}
231
240
else {
232
241
closesocket (g_socket);
233
- std::cerr << " [connect] can not initiate encryption" << std::endl;
242
+ std::cerr << " [connect] can not initiate encryption" << std::endl;
234
243
return -1 ;
235
244
}
236
245
}
@@ -244,7 +253,7 @@ int cmdConnect(char* params)
244
253
245
254
if (!sendMsg (msg)){
246
255
closesocket (g_socket);
247
- std::cerr << " [connect] error while sending login" << std::endl;
256
+ std::cerr << " [connect] error while sending login" << std::endl;
248
257
return -1 ;
249
258
}
250
259
@@ -274,9 +283,13 @@ int cmdConnect(char* params)
274
283
int cmdDisconnect (char * params)
275
284
{
276
285
if (g_connected != true ){
277
- std::cerr << " [disconnect] no connected" << std::endl;
286
+ std::cerr << " [disconnect] no connected" << std::endl;
278
287
return 1 ;
279
288
}
289
+
290
+ if (params){
291
+ std::cerr << " [disconnect] Warning: parameters ignored" << std::endl;
292
+ }
280
293
281
294
closesocket (g_socket);
282
295
g_socket = SOCKET_ERROR;
@@ -289,6 +302,11 @@ int cmdDisconnect(char* params)
289
302
// sleep 10000
290
303
int sleep (char * params)
291
304
{
305
+ if (!params){
306
+ std::cerr << " [sleep] missing parameter" << std::endl;
307
+ return -1 ;
308
+ }
309
+
292
310
int delay;
293
311
if (sscanf (params, " %d" , &delay) != 1 ){
294
312
std::cerr << " [sleep] no valid delay" << std::endl;
@@ -305,18 +323,18 @@ int sleep(char* params)
305
323
int commandBroadcast (char * params)
306
324
{
307
325
if (g_connected != true ){
308
- std::cerr << " [broadcast] no connected" << std::endl;
326
+ std::cerr << " [broadcast] no connected" << std::endl;
309
327
return -1 ;
310
328
}
311
329
312
330
if (!params){
313
- std::cerr << " [broadcast] no params " << std::endl;
331
+ std::cerr << " [broadcast] missing parameters " << std::endl;
314
332
return -1 ;
315
333
}
316
334
317
335
long n = strlen (params);
318
336
if (n > 127 || n == 0 ){
319
- std::cerr << " [broadcast] no valid params " << std::endl;
337
+ std::cerr << " [broadcast] no valid parameters " << std::endl;
320
338
return -1 ;
321
339
}
322
340
@@ -326,7 +344,7 @@ int commandBroadcast(char* params)
326
344
std::cout << " Broadcast: " << message << std::endl;
327
345
328
346
if (!sendCommand (CMD_BROADCAST, message)){
329
- std::cerr << " [broadcast] error sending broadcast" << std::endl;
347
+ std::cerr << " [broadcast] error sending broadcast" << std::endl;
330
348
return -1 ;
331
349
}
332
350
@@ -337,19 +355,18 @@ int commandBroadcast(char* params)
337
355
int commandCloseServer (char * params)
338
356
{
339
357
if (g_connected != true ){
340
- std::cerr << " [closeserver] no connected" << std::endl;
358
+ std::cerr << " [closeserver] no connected" << std::endl;
341
359
return -1 ;
342
360
}
343
361
344
362
if (params){
345
- std::cerr << " [closeserver] Warning: params ignored" << std::endl;
363
+ std::cerr << " [closeserver] Warning: parameters ignored" << std::endl;
346
364
}
347
365
348
-
349
366
std::cout << " Closing server." << std::endl;
350
367
351
368
if (!sendCommand (CMD_CLOSE_SERVER, NULL )){
352
- std::cerr << " [closeserver] error closing server" << std::endl;
369
+ std::cerr << " [closeserver] error closing server" << std::endl;
353
370
return -1 ;
354
371
}
355
372
@@ -360,19 +377,18 @@ int commandCloseServer(char* params)
360
377
int commandShutdown (char * params)
361
378
{
362
379
if (g_connected != true ){
363
- std::cerr << " [shutdown] no connected" << std::endl;
380
+ std::cerr << " [shutdown] no connected" << std::endl;
364
381
return -1 ;
365
382
}
366
383
367
384
if (params){
368
- std::cerr << " [shutdown] Warning: params ignored" << std::endl;
385
+ std::cerr << " [shutdown] Warning: parameters ignored" << std::endl;
369
386
}
370
387
371
-
372
388
std::cout << " Server shutdown." << std::endl;
373
389
374
390
if (!sendCommand (CMD_SHUTDOWN_SERVER, NULL )){
375
- std::cerr << " [shutdown] error in server shutdown" << std::endl;
391
+ std::cerr << " [shutdown] error in server shutdown" << std::endl;
376
392
return -1 ;
377
393
}
378
394
@@ -384,21 +400,25 @@ int commandShutdown(char* params)
384
400
int ping (char * params)
385
401
{
386
402
if (g_connected != true ){
387
- std::cerr << " [ping] no connected" << std::endl;
403
+ std::cerr << " [ping] no connected" << std::endl;
388
404
return -1 ;
389
405
}
406
+
407
+ if (params){
408
+ std::cerr << " [ping] Warning: parameters ignored" << std::endl;
409
+ }
390
410
391
411
NetworkMessage msg;
392
412
msg.AddByte (AP_MSG_PING);
393
413
394
414
if (!sendMsg (msg)){
395
- std::cerr << " [ping] error sending ping" << std::endl;
415
+ std::cerr << " [ping] error sending ping" << std::endl;
396
416
return -1 ;
397
417
}
398
418
399
419
char ret_code = msg.GetByte ();
400
420
if (ret_code != AP_MSG_PING_OK){
401
- std::cerr << " [ping] no valid ping" << std::endl;
421
+ std::cerr << " [ping] no valid ping" << std::endl;
402
422
return -1 ;
403
423
}
404
424
return 1 ;
@@ -437,7 +457,7 @@ bool sendCommand(char commandByte, char* command)
437
457
return false ;
438
458
}
439
459
else {
440
- std::cerr << " [sendCommand] no known return code" << std::endl;
460
+ std::cerr << " [sendCommand] no known return code" << std::endl;
441
461
return false ;
442
462
}
443
463
}
@@ -455,7 +475,7 @@ bool sendMsg(NetworkMessage& msg, uint32_t* key /*= NULL*/)
455
475
bool ret = true ;
456
476
457
477
if (!msg.WriteToSocket (g_socket)){
458
- std::cerr << " [sendMsg] error while sending" << std::endl;
478
+ std::cerr << " [sendMsg] error while sending - " << WSAGetLastError () << std::endl;
459
479
ret = false ;
460
480
}
461
481
@@ -467,7 +487,7 @@ bool sendMsg(NetworkMessage& msg, uint32_t* key /*= NULL*/)
467
487
msg.setEncryptionKey (key);
468
488
}
469
489
if (!msg.ReadFromSocket (g_socket)){
470
- std::cerr << " [sendMsg] error while reading" << std::endl;
490
+ std::cerr << " [sendMsg] error while reading - " << WSAGetLastError () << std::endl;
471
491
ret = false ;
472
492
}
473
493
else {
0 commit comments