Commit d452726bfe81212a613ba56dbfb597c4210a64cf
1 parent
17dd31f3
small workaround to make this module work on apache 2.2.x as well as 2.4.x
Showing
1 changed file
with
15 additions
and
10 deletions
@@ -70,15 +70,19 @@ entropy_filter_in( | @@ -70,15 +70,19 @@ entropy_filter_in( | ||
70 | apr_read_type_e block, | 70 | apr_read_type_e block, |
71 | apr_off_t readbytes) | 71 | apr_off_t readbytes) |
72 | { | 72 | { |
73 | - apr_bucket * bucket; | ||
74 | - apr_status_t status; | ||
75 | - request_rec * request = filter->r; | ||
76 | - conn_rec * connection = filter->c; | ||
77 | - apr_sha1_ctx_t sha1_ctx; | ||
78 | - unsigned char digest[APR_SHA1_DIGESTSIZE]; | 73 | + apr_bucket * bucket; |
74 | + apr_status_t status; | ||
75 | + request_rec * request = filter->r; | ||
76 | + conn_rec * connection = filter->c; | ||
77 | + apr_sha1_ctx_t sha1_ctx; | ||
78 | + unsigned char digest[APR_SHA1_DIGESTSIZE]; | ||
79 | + ap_version_t ap_version; | ||
80 | + char * remote_ip; | ||
79 | 81 | ||
80 | struct timespec ts; | 82 | struct timespec ts; |
81 | 83 | ||
84 | + ap_get_server_revision(&ap_version); | ||
85 | + | ||
82 | clock_gettime(CLOCK_REALTIME, &ts); | 86 | clock_gettime(CLOCK_REALTIME, &ts); |
83 | 87 | ||
84 | apr_sha1_init(&sha1_ctx); | 88 | apr_sha1_init(&sha1_ctx); |
@@ -94,10 +98,11 @@ entropy_filter_in( | @@ -94,10 +98,11 @@ entropy_filter_in( | ||
94 | /** | 98 | /** |
95 | * add client ip to sha1 | 99 | * add client ip to sha1 |
96 | */ | 100 | */ |
97 | - apr_sha1_update( | ||
98 | - &sha1_ctx, | ||
99 | - connection->remote_ip, | ||
100 | - strlen(connection->remote_ip)); | 101 | + remote_ip = (ap_version.minor < 4)? |
102 | + connection->remote_ip: | ||
103 | + connection->client_ip; | ||
104 | + | ||
105 | + apr_sha1_update(&sha1_ctx, remote_ip, strlen(remote_ip)); | ||
101 | 106 | ||
102 | /** | 107 | /** |
103 | * add request line to sha1 | 108 | * add request line to sha1 |
Please
register
or
login
to post a comment