Re: Squid Uml Diagrams

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 06 Nov 2009 22:15:34 +1300

mehmet61 wrote:
>
>
> Amos Jeffries-2 wrote:
>> mehmet61 wrote:
>>> Hi,
>>>
>>> I want to learn squid class structure and acl structure for my project..
>>> I
>>> have to modify squid in my project about forbidden youtube in Turkey..
>>>
>>> In Turkey youtube is forbidden by the reason of insulting our leader
>>> Ataturk
>>> in some videos..
>>>
>>> So We want to do that users can access to youtube but not to these
>>> insulting
>>> videos.. its our senior project and we have to do some uml diagrams like
>>> sequence use-case vs..
>>>
>>> But when we look at the acl classes we dont understand anything and we
>>> have
>>> to understand acl classes structure..
>>>
>>> Is there anybody to know these issues?
>> This does not require any new code in Squid.
>>
>> Where the video URL are known use existing urlpath_regex patterns to
>> detect and deny through squid.conf.
>>
>> Where the video must be detected by processing the video frames
>> themselves or web pages of video publishers. Use Squid-3 and an
>> ICAP/eCAP content processor coded to do such detection.
>>
>> Amos
>>
>
> Thanks for your information but in order to do our documentation, we have to
> know what is acl structure.. We know few things about squid and when we
> enter the source code, we are really scare..
>
> How can we struggle with this project?

You will struggle greatly.

Ask yourself instead:
   When given only the name how do you tell kittens playing from a ball
game?

  12fe65cb43ad.flv?
or
  ac663fdeacc3.flv?

which is the kittens?

>
> How can we learn squid's code basicly?

The Squid code is documented at http://squid.treenet.co.nz/Doc/Code/
and in the source code files themselves. It is very incomplete.

ACL processing structure:
   http://squid.treenet.co.nz/Doc/Code/classACL.dyn

ACL HTTP state data available for testing:
  http://squid.treenet.co.nz/Doc/Code/classACLFilledChecklist.dyn

Overall view of the code:

Squid data is split into several groups:
  * processing state data
  * active processing data
  * cached previous data
  * configuration data

The code itself is a series of components (state engines) which process
the HTTP headers in stages then pass handling to some other engine. Some
engines are separate from the HTTP requests and handle additional data
extra to the request. Such as the DNS and IDENT engines.

Object content data is not handled beyond compression needs.

Thats the Squid code in a nutshell.

There is no existing accurate documentation overview of the handling
flow. I'm working on charting the request flow from client through to
server. So far have only got from receiving packets to start of request
parse. It may be a few weeks more for anything very useful.

Amos

-- 
Please be using
   Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20
   Current Beta Squid 3.1.0.14
Received on Fri Nov 06 2009 - 09:15:59 MST

This archive was generated by hypermail 2.2.0 : Fri Nov 06 2009 - 12:00:05 MST