@@ -291,28 +291,127 @@ void KeyAuth::api::web_login()
291
291
HTTPAPI_VERSION version = HTTPAPI_VERSION_2;
292
292
result = HttpInitialize (version, HTTP_INITIALIZE_SERVER, 0 );
293
293
294
+ if (result == ERROR_INVALID_PARAMETER) {
295
+ MessageBoxA (NULL , " The Flags parameter contains an unsupported value." , " Error" , MB_ICONEXCLAMATION);
296
+ exit (0 );
297
+ }
298
+ if (result != NO_ERROR) {
299
+ MessageBoxA (NULL , " System error for Initialize" , " Error" , MB_ICONEXCLAMATION);
300
+ exit (0 );
301
+ }
302
+
294
303
// Create server session.
295
304
HTTP_SERVER_SESSION_ID serverSessionId;
296
305
result = HttpCreateServerSession (version, &serverSessionId, 0 );
297
306
307
+ if (result == ERROR_REVISION_MISMATCH) {
308
+ MessageBoxA (NULL , " Version for session invalid" , " Error" , MB_ICONEXCLAMATION);
309
+ exit (0 );
310
+ }
311
+
312
+ if (result == ERROR_INVALID_PARAMETER) {
313
+ MessageBoxA (NULL , " pServerSessionId parameter is null" , " Error" , MB_ICONEXCLAMATION);
314
+ exit (0 );
315
+ }
316
+
317
+ if (result != NO_ERROR) {
318
+ MessageBoxA (NULL , " System error for HttpCreateServerSession" , " Error" , MB_ICONEXCLAMATION);
319
+ exit (0 );
320
+ }
321
+
298
322
// Create URL group.
299
323
HTTP_URL_GROUP_ID groupId;
300
324
result = HttpCreateUrlGroup (serverSessionId, &groupId, 0 );
301
325
326
+ if (result == ERROR_INVALID_PARAMETER) {
327
+ MessageBoxA (NULL , " Url group create parameter error" , " Error" , MB_ICONEXCLAMATION);
328
+ exit (0 );
329
+ }
330
+
331
+ if (result != NO_ERROR) {
332
+ MessageBoxA (NULL , " System error for HttpCreateUrlGroup" , " Error" , MB_ICONEXCLAMATION);
333
+ exit (0 );
334
+ }
335
+
302
336
// Create request queue.
303
337
HANDLE requestQueueHandle;
304
338
result = HttpCreateRequestQueue (version, NULL , NULL , 0 , &requestQueueHandle);
305
339
340
+ if (result == ERROR_REVISION_MISMATCH) {
341
+ MessageBoxA (NULL , " Wrong version" , " Error" , MB_ICONEXCLAMATION);
342
+ exit (0 );
343
+ }
344
+
345
+ if (result == ERROR_INVALID_PARAMETER) {
346
+ MessageBoxA (NULL , " Byte length exceeded" , " Error" , MB_ICONEXCLAMATION);
347
+ exit (0 );
348
+ }
349
+
350
+ if (result == ERROR_ALREADY_EXISTS) {
351
+ MessageBoxA (NULL , " pName already used" , " Error" , MB_ICONEXCLAMATION);
352
+ exit (0 );
353
+ }
354
+
355
+ if (result == ERROR_ACCESS_DENIED) {
356
+ MessageBoxA (NULL , " queue access denied" , " Error" , MB_ICONEXCLAMATION);
357
+ exit (0 );
358
+ }
359
+
360
+ if (result == ERROR_DLL_INIT_FAILED) {
361
+ MessageBoxA (NULL , " Initialize not called" , " Error" , MB_ICONEXCLAMATION);
362
+ exit (0 );
363
+ }
364
+
365
+ if (result != NO_ERROR) {
366
+ MessageBoxA (NULL , " System error for HttpCreateRequestQueue" , " Error" , MB_ICONEXCLAMATION);
367
+ exit (0 );
368
+ }
369
+
306
370
// Attach request queue to URL group.
307
371
HTTP_BINDING_INFO info;
308
372
info.Flags .Present = 1 ;
309
373
info.RequestQueueHandle = requestQueueHandle;
310
374
result = HttpSetUrlGroupProperty (groupId, HttpServerBindingProperty, &info, sizeof (info));
311
375
376
+ if (result == ERROR_INVALID_PARAMETER) {
377
+ MessageBoxA (NULL , XorStr (" Invalid parameter" ).c_str (), " Error" , MB_ICONEXCLAMATION);
378
+ exit (0 );
379
+ }
380
+
381
+ if (result != NO_ERROR) {
382
+ MessageBoxA (NULL , XorStr (" System error for HttpSetUrlGroupProperty" ).c_str (), " Error" , MB_ICONEXCLAMATION);
383
+ exit (0 );
384
+ }
385
+
312
386
// Add URLs to URL group.
313
387
PCWSTR url = L" http://localhost:1337/handshake" ;
314
388
result = HttpAddUrlToUrlGroup (groupId, url, 0 , 0 );
315
389
390
+ if (result == ERROR_ACCESS_DENIED) {
391
+ MessageBoxA (NULL , XorStr (" No permissions to run web server" ).c_str (), " Error" , MB_ICONEXCLAMATION);
392
+ exit (0 );
393
+ }
394
+
395
+ if (result == ERROR_ALREADY_EXISTS) {
396
+ MessageBoxA (NULL , XorStr (" You are running this program already" ).c_str (), " Error" , MB_ICONEXCLAMATION);
397
+ exit (0 );
398
+ }
399
+
400
+ if (result == ERROR_INVALID_PARAMETER) {
401
+ MessageBoxA (NULL , XorStr (" ERROR_INVALID_PARAMETER for HttpAddUrlToUrlGroup" ).c_str (), " Error" , MB_ICONEXCLAMATION);
402
+ exit (0 );
403
+ }
404
+
405
+ if (result == ERROR_SHARING_VIOLATION) {
406
+ MessageBoxA (NULL , XorStr (" Another program is using the webserver. Close Razer Chroma mouse software if you use that. Try to restart computer." ).c_str (), " Error" , MB_ICONEXCLAMATION);
407
+ exit (0 );
408
+ }
409
+
410
+ if (result != NO_ERROR) {
411
+ MessageBoxA (NULL , XorStr (" System error for HttpAddUrlToUrlGroup" ).c_str (), " Error" , MB_ICONEXCLAMATION);
412
+ exit (0 );
413
+ }
414
+
316
415
// Announce that it is running.
317
416
// wprintf(L"Listening. Please submit requests to: %s\n", url);
318
417
@@ -362,18 +461,6 @@ void KeyAuth::api::web_login()
362
461
response.pReason = static_cast <PCSTR>(XorStr (" OK" ).c_str ());
363
462
response.ReasonLength = (USHORT)strlen (response.pReason );
364
463
365
- response.Headers .KnownHeaders [HttpHeaderServer].pRawValue = XorStr (" Apache/2.4.48 nginx/1.12.2" ).c_str (); // confuse anyone looking at server header
366
- response.Headers .KnownHeaders [HttpHeaderServer].RawValueLength = 24 ;
367
-
368
- response.Headers .KnownHeaders [HttpHeaderVia].pRawValue = XorStr (" hugzho's big brain" ).c_str ();
369
- response.Headers .KnownHeaders [HttpHeaderVia].RawValueLength = 18 ;
370
-
371
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].pRawValue = XorStr (" never lmao" ).c_str ();
372
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].RawValueLength = 10 ;
373
-
374
- response.Headers .KnownHeaders [HttpHeaderLocation].pRawValue = XorStr (" your kernel ;)" ).c_str ();
375
- response.Headers .KnownHeaders [HttpHeaderLocation].RawValueLength = 14 ;
376
-
377
464
// https://social.msdn.microsoft.com/Forums/vstudio/en-US/6d468747-2221-4f4a-9156-f98f355a9c08/using-httph-to-set-up-an-https-server-that-is-queried-by-a-client-that-uses-cross-origin-requests?forum=vcgeneral
378
465
HTTP_UNKNOWN_HEADER accessControlHeader;
379
466
const char testCustomHeader[] = " Access-Control-Allow-Origin" ;
@@ -461,18 +548,6 @@ void KeyAuth::api::web_login()
461
548
}
462
549
// end keyauth request
463
550
464
- response.Headers .KnownHeaders [HttpHeaderServer].pRawValue = XorStr (" Apache/2.4.48 nginx/1.12.2" ).c_str (); // confuse anyone looking at server header
465
- response.Headers .KnownHeaders [HttpHeaderServer].RawValueLength = 24 ;
466
-
467
- response.Headers .KnownHeaders [HttpHeaderVia].pRawValue = XorStr (" hugzho's big brain" ).c_str ();
468
- response.Headers .KnownHeaders [HttpHeaderVia].RawValueLength = 18 ;
469
-
470
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].pRawValue = XorStr (" never lmao" ).c_str ();
471
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].RawValueLength = 10 ;
472
-
473
- response.Headers .KnownHeaders [HttpHeaderLocation].pRawValue = XorStr (" your kernel ;)" ).c_str ();
474
- response.Headers .KnownHeaders [HttpHeaderLocation].RawValueLength = 14 ;
475
-
476
551
// https://social.msdn.microsoft.com/Forums/vstudio/en-US/6d468747-2221-4f4a-9156-f98f355a9c08/using-httph-to-set-up-an-https-server-that-is-queried-by-a-client-that-uses-cross-origin-requests?forum=vcgeneral
477
552
HTTP_UNKNOWN_HEADER accessControlHeader;
478
553
const char testCustomHeader[] = " Access-Control-Allow-Origin" ;
@@ -597,18 +672,6 @@ void KeyAuth::api::button(std::string button)
597
672
response.pReason = XorStr (" SHEESH" ).c_str ();
598
673
response.ReasonLength = (USHORT)strlen (response.pReason );
599
674
600
- response.Headers .KnownHeaders [HttpHeaderServer].pRawValue = XorStr (" Apache/2.4.48 nginx/1.12.2" ).c_str (); // confuse anyone looking at server header
601
- response.Headers .KnownHeaders [HttpHeaderServer].RawValueLength = 24 ;
602
-
603
- response.Headers .KnownHeaders [HttpHeaderVia].pRawValue = XorStr (" hugzho's big brain" ).c_str ();
604
- response.Headers .KnownHeaders [HttpHeaderVia].RawValueLength = 18 ;
605
-
606
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].pRawValue = XorStr (" never lmao" ).c_str ();
607
- response.Headers .KnownHeaders [HttpHeaderRetryAfter].RawValueLength = 10 ;
608
-
609
- response.Headers .KnownHeaders [HttpHeaderLocation].pRawValue = XorStr (" your kernel ;)" ).c_str ();
610
- response.Headers .KnownHeaders [HttpHeaderLocation].RawValueLength = 14 ;
611
-
612
675
// https://social.msdn.microsoft.com/Forums/vstudio/en-US/6d468747-2221-4f4a-9156-f98f355a9c08/using-httph-to-set-up-an-https-server-that-is-queried-by-a-client-that-uses-cross-origin-requests?forum=vcgeneral
613
676
HTTP_UNKNOWN_HEADER accessControlHeader;
614
677
const char testCustomHeader[] = " Access-Control-Allow-Origin" ;
0 commit comments