Guest User

Untitled

a guest
Feb 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. --- base.orig.h 2006-11-21 12:28:28.000000000 +0100
  2. +++ base.h 2006-11-21 12:33:40.000000000 +0100
  3. @@ -370,6 +370,7 @@
  4.  
  5. sock_addr dst_addr;
  6. buffer *dst_addr_buf;
  7. + buffer *src_addr_buf;
  8.  
  9. /* request */
  10. buffer *parse_request;
  11.  
  12. --- connections.orig.c 2006-11-21 12:33:28.000000000 +0100
  13. +++ connections.c 2006-11-21 15:13:57.000000000 +0100
  14. @@ -648,6 +648,7 @@
  15. CLEAN(server_name);
  16. CLEAN(error_handler);
  17. CLEAN(dst_addr_buf);
  18. + CLEAN(src_addr_buf);
  19.  
  20. #undef CLEAN
  21. con->write_queue = chunkqueue_init();
  22. @@ -712,6 +713,7 @@
  23. CLEAN(server_name);
  24. CLEAN(error_handler);
  25. CLEAN(dst_addr_buf);
  26. + CLEAN(src_addr_buf);
  27. #undef CLEAN
  28. free(con->plugin_ctx);
  29. free(con->cond_cache);
  30. @@ -1251,6 +1253,9 @@
  31. int cnt;
  32. sock_addr cnt_addr;
  33. socklen_t cnt_len;
  34. +
  35. + sock_addr srv_addr;
  36. + socklen_t srv_addr_len;
  37. /* accept it and register the fd */
  38.  
  39. cnt_len = sizeof(cnt_addr);
  40. @@ -1298,6 +1303,13 @@
  41. buffer_copy_string(con->dst_addr_buf, inet_ntop_cache_get_ip(srv, &(con->dst_addr)));
  42. con->srv_socket = srv_socket;
  43.  
  44. + srv_addr_len = sizeof(srv_addr);
  45. + if (-1 == getsockname(con->fd, &(srv_addr.plain), &srv_addr_len)) {
  46. + buffer_copy_string(con->src_addr_buf, inet_ntop_cache_get_ip(srv, &(srv_socket->addr)));
  47. + } else {
  48. + buffer_copy_string(con->src_addr_buf,inet_ntop_cache_get_ip(srv, &(srv_addr)));
  49. + }
  50. +
  51. if (-1 == (fdevent_fcntl_set(srv->ev, con->fd))) {
  52. log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed: ", strerror(errno));
  53. return NULL;
  54.  
  55. --- mod_magnet.orig.c 2006-11-20 18:03:03.000000000 +0100
  56. +++ mod_magnet.c 2006-11-21 13:05:30.000000000 +0100
  57. @@ -365,7 +365,11 @@
  58. MAGNET_ENV_REQUEST_METHOD,
  59. MAGNET_ENV_REQUEST_URI,
  60. MAGNET_ENV_REQUEST_ORIG_URI,
  61. - MAGNET_ENV_REQUEST_PROTOCOL
  62. + MAGNET_ENV_REQUEST_PROTOCOL,
  63. +
  64. + MAGNET_ENV_REMOTE_ADDR,
  65. +
  66. + MAGNET_ENV_SERVER_ADDR
  67. } type;
  68. } magnet_env_t;
  69.  
  70. @@ -389,6 +393,10 @@
  71. { "request.orig-uri", MAGNET_ENV_REQUEST_ORIG_URI },
  72. { "request.protocol", MAGNET_ENV_REQUEST_PROTOCOL },
  73.  
  74. + { "remote.address", MAGNET_ENV_REMOTE_ADDR },
  75. +
  76. + { "server.address", MAGNET_ENV_SERVER_ADDR },
  77. +
  78. { NULL, MAGNET_ENV_UNSET }
  79. };
  80.  
  81. @@ -418,6 +426,10 @@
  82. case MAGNET_ENV_REQUEST_URI: dest = con->request.uri; break;
  83. case MAGNET_ENV_REQUEST_ORIG_URI: dest = con->request.orig_uri; break;
  84. case MAGNET_ENV_REQUEST_PROTOCOL: break;
  85. +
  86. + case MAGNET_ENV_REMOTE_ADDR: dest = con->dst_addr_buf; break;
  87. +
  88. + case MAGNET_ENV_SERVER_ADDR: dest = con->src_addr_buf; break;
  89.  
  90. case MAGNET_ENV_UNSET: break;
  91. }
Add Comment
Please, Sign In to add comment