On Mon, 21 Jan 2002, Artem wrote:

> ����������� ������: ����� iptables ���������� ������ � ����� 3128 ��
> ip ������.
>
> � �������� �� ���� Oops'a: 710MB (��� �� 1kb/sec �� 3 ���)
> �� iptables: 120MB.
>
> ����������, ��� ����� �� ����� .. ��� .. ���� - ����� ������.
> �������, ��� ������ ���������� � �������� ��� �������� � ����������
> ������.

�������� �������� � ������� ���, ��� � ��� ������� ������ ������ ���������
�����, ���� ���� ���������� �������� � ���� ��������.
�� ������������ �� ��� ��� ������������� oops � http accelerator ������.

��������� ����������� � �������� ������ (������ � ����������) ���� ���� �
������, �� �������� ��� ����� �� �������� :(

*** WBR, Alexey Zakirov ([EMAIL PROTECTED])
diff -ruN oops-1.5.18.p2/src/lib.c oops-1.5.18.tp2/src/lib.c
--- oops-1.5.18.p2/src/lib.c    Wed Aug 29 14:49:52 2001
+++ oops-1.5.18.tp2/src/lib.c   Wed Aug 29 14:15:05 2001
@@ -192,7 +192,8 @@
     meth       = rq->method;
     tag                = rq->tag;
     hierarchy  = rq->hierarchy;
-    size       = rq->received;
+    /* size    = rq->received; */
+    size       = rq->doc_sent;
     code       = rq->code;
 
     if ( obj && obj->headers && (content = attr_value(obj->headers, "Content-Type")) 
) {
@@ -245,6 +246,8 @@
                         + strlen(content) + strlen(source)
                         + strlen(user) + 128);
     if ( sbuf && urlp ) {
+       if ( size < 0 )
+           size = 0;
        sprintf(sbuf, "%u.000 %d %s %s/%d %d %s %-.128s %s %s/%s %s\n",
        (unsigned)global_sec_timer, elapsed, s,
        tag, code, size, meth, urlp, user,
diff -ruN oops-1.5.18.p2/src/modules/custom_log.c 
oops-1.5.18.tp2/src/modules/custom_log.c
--- oops-1.5.18.p2/src/modules/custom_log.c     Wed Aug 29 14:49:52 2001
+++ oops-1.5.18.tp2/src/modules/custom_log.c    Wed Aug 29 14:14:07 2001
@@ -170,7 +170,10 @@
                    /* bytes sent (actualy received)    */
                    {
                    char w[20];
-                   sprintf(w,"%u", rq->received);
+                   /* sprintf(w,"%u", rq->received); */
+                   if ( rq->doc_sent < 0 )
+                       rq->doc_sent = 0;
+                   sprintf(w,"%u", rq->doc_sent);
                    strncat(d, w, sizeof(res)-(d-res)-2);
                    d+= MIN(strlen(w), sizeof(res)-(d-res)-2) - 1;
                    }


Дати відповідь електронним листом