Documentation Source Text

Check-in [d61bcab9f4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:althttpd.c changes: Send a 403 response to unauthorized agents. Add Ezoom to the list of unauthorized agents. Do not log timeouts if the first line of the HTTP request was never received.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d61bcab9f4d1c7ca8f711e49a9193f31f7d3e89a
User & Date: drh 2012-11-10 14:43:55
Context
2012-11-14
12:46
Fix typo in documentation on EXCLUSIVE locking mode for WAL. check-in: 64593a771c user: drh tags: trunk
2012-11-10
14:43
althttpd.c changes: Send a 403 response to unauthorized agents. Add Ezoom to the list of unauthorized agents. Do not log timeouts if the first line of the HTTP request was never received. check-in: d61bcab9f4 user: drh tags: trunk
12:38
Change the way that user-agent restrictions are handled in althttpd.c. check-in: 8d5d89e6db user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to misc/althttpd.c.

358
359
360
361
362
363
364















365
366
367
368
369
370
371
...
398
399
400
401
402
403
404

405
406

407
408
409
410
411
412
413
...
968
969
970
971
972
973
974

975
976
977
978
979
980
981
982
983
984
985
    "<head><title lineno=\"%d\">Not Found</title></head>\n"
    "<body><h1>Document Not Found</h1>\n"
    "The document %s is not available on this server\n"
    "</body>\n", lineno, zScript);
  MakeLogEntry(0);
  exit(0);
}
















/*
** Tell the client that authorization is required to access the
** document.
*/
static void NotAuthorized(const char *zRealm){
  StartResponse("401 Authorization Required");
................................................................................

/*
** This is called if we timeout.
*/
static void Timeout(int NotUsed){
  (void)NotUsed;
  if( !debugFlag ){

    strcpy(zReplyStatus, "999");
    MakeLogEntry(0);

    exit(0);
  }
}

/*
** Tell the client that there is an error in the script.
*/
................................................................................
    }
  }

  /* Disallow referring from certain clients */
  if( zAgent ){
    if( strstr(zAgent, "Windows_9")!=0
     || strstr(zAgent, "Download_Master")!=0

    ){
      strcpy(zReplyStatus, "997");
      closeConnection = 1;
      MakeLogEntry(0);
    }
  }
#if 0
  if( zReferer ){
    static const char *azDisallow[] = {
      "skidrowcrack.com",
      "hoshiyuugi.tistory.com",







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
|
|
>







 







>

<
|
<







358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
...
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
...
985
986
987
988
989
990
991
992
993

994

995
996
997
998
999
1000
1001
    "<head><title lineno=\"%d\">Not Found</title></head>\n"
    "<body><h1>Document Not Found</h1>\n"
    "The document %s is not available on this server\n"
    "</body>\n", lineno, zScript);
  MakeLogEntry(0);
  exit(0);
}

/*
** Tell the client that they are not welcomed here.
*/
static void Forbidden(void){
  StartResponse("403 Forbidden");
  nOut += printf(
    "Content-type: text/plain\r\n"
    "\r\n"
    "Access denied\n"
  );
  closeConnection = 1;
  MakeLogEntry(0);
  exit(0);
}

/*
** Tell the client that authorization is required to access the
** document.
*/
static void NotAuthorized(const char *zRealm){
  StartResponse("401 Authorization Required");
................................................................................

/*
** This is called if we timeout.
*/
static void Timeout(int NotUsed){
  (void)NotUsed;
  if( !debugFlag ){
    if( zScript && zScript[0] ){
      strcpy(zReplyStatus, "999");
      MakeLogEntry(0);
    }
    exit(0);
  }
}

/*
** Tell the client that there is an error in the script.
*/
................................................................................
    }
  }

  /* Disallow referring from certain clients */
  if( zAgent ){
    if( strstr(zAgent, "Windows_9")!=0
     || strstr(zAgent, "Download_Master")!=0
     || strstr(zAgent, "_Ezooms/")!=0
    ){

      Forbidden();

    }
  }
#if 0
  if( zReferer ){
    static const char *azDisallow[] = {
      "skidrowcrack.com",
      "hoshiyuugi.tistory.com",