Привет всем

В рассылке LARTC проплыл патч "Zero penalty Hit", по существу:

Многие применяют не встроенный шейпер oops, а к примеру HTB или CBQ
(на Линуксе), и было бы весьма удобно, не шейпить закешированные
документы. Однако организовать взаимосвязь между проксей и этим
шейпером непросто, и умный человек написал патчик (Прикладываю ниже).
Возможно ли этот патчик встроить в oops?
По идее, просто по setsockopt все пакеты помечаются определенным
образом.

И кратенько как в Линуксе например этим пакетам сделать unlimited
bandwidth:

tc filter add dev ".$device." parent 1:0 protocol ip prio 1 u32 match ip protocol 0x6 
0xff match u32 0x8804AB
CD 0xffffffff at 20 flowid 1:4
tc class add dev ".$device." classid 1:4 parent 1:2 htb rate 1Mbit


      }
      if (http->out.offset == 0) {
+ /* Zero Penalty Patch (ZPH) begins here ----> */
+       char my_options [] = { 0x88, 0x04, 0xAB, 0xCD };
+         switch ( http->log_type )
+         {
+             case LOG_TCP_HIT:
+             case LOG_TCP_REFRESH_HIT:
+             case LOG_TCP_REFRESH_FAIL_HIT:
+             case LOG_TCP_IMS_HIT:
+             case LOG_TCP_MEM_HIT:
+             case LOG_TCP_OFFLINE_HIT:
+                 enter_suid();
+                 if (setsockopt(fd, IPPROTO_IP, IP_OPTIONS, my_options, 4 ) < 0)
+                 {
+                     debug(50, 1) ("setsockopt(IP_OPTIONS) on FD %d: %s\n", fd, 
xstrerror());
+                 }
+
+               leave_suid();
+                 break;
+             default:
+                 break;
+         }
+ /* <----- End of ZPH */
        if (Config.onoff.log_mime_hdrs) {
            size_t k;
            if ((k = headersEnd(buf, size))) {

  

-- 
Best regards,
 Denis                          mailto:[EMAIL PROTECTED]

=====================================================================
If you would like to unsubscribe from this list send message to
[EMAIL PROTECTED] with "unsubscribe oops" in message body.
Archive is accessible on http://lists.paco.net/oops-rus/

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