Menu

#1712 privoxy generate user.filter.new and user.action.new file?

3.0.x
closed
6
2016-04-09
2016-04-07
Weeds
No

Hi Fabian:
On OpenWrt System, I modify user.filter and user.action in privoxy source, and compile it, find it generate user.filter.new and user.action.new in install folder.

But I don't find out where the build system check the two file grammer and how to close the check, or make my custimized filter and action filter fit the check rule.

Please help check where privoxy build system do that, or help check where my rule are wrong.

Thanks a lot.

Discussion

  • Weeds

    Weeds - 2016-04-07

    the two file renamed, I check the developer manual find privoxy check its grammer, but I really cann't find out where. Please help on that, thanks

     
  • Weeds

    Weeds - 2016-04-07

    privoxy version is 3.0.24, on OpenWrt system AR9344 platform.

    Have you guys test how many users can on privoxy hold ? I use it on AR9344, and will do that test next month, but I don't have confidence on mind, can you do any help on that?
    the concurrent on openwrt ar9344 tested, is about 220 request per second, if I want to improve its ability, where should I do the upgrade, thanks.

     
  • Fabian Keil

    Fabian Keil - 2016-04-07

    I'm not sure I understand the question.

    The code responsible for adding a .new extension to certain
    files that already exist in the destination directory is
    located in GNUmakefile.in which is used to generate GNUmakefile:
    http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/GNUmakefile.in?revision=1.238&view=markup#l902

    As you can see the content of the files is not checked before
    installing them as they are expected to come from upstream.

    Also note that it's not necessary to customize those files
    before compiling Privoxy. Usually it's done after Privoxy
    has been installed.

    The code that lets Privoxy itself check the syntax is distributed
    across various C files, most of it happens in filter.c, actions.c
    and urlmatch.c but there are others.

    I don't use OpenWrt or the "AR9344 platform" and thus have no
    idea how Privoxy will perform on this configuration.

    I'd recommend that you do your own benchmark to see if the
    performance is sufficient for your use case. If it isn't,
    it's possible that tuning may help.

    Generally the number of concurrent connections is limited by
    the max-client-connections directive and the FD_SETSIZE limit:
    https://www.privoxy.org/user-manual/config.html#MAX-CLIENT-CONNECTIONS
    How many connections a given user needs depends on the user
    and the client.

     
  • Weeds

    Weeds - 2016-04-08

    Thanks, that solved my problem.

    Have Privoxy Team thought of changing select() system call to epoll to improve its I/O performance ?

     
  • Fabian Keil

    Fabian Keil - 2016-04-09
    • status: open --> closed
     
  • Fabian Keil

    Fabian Keil - 2016-04-09

    You're welcome.

    While I will probably eventually add support for poll() (and maybe kqueue()), epoll() is a Linux-specific system call so it seems unlikely that someone from the current developer team would spend time on it.

    Due to the way Privoxy is designed, it's also not obvious to me that using epoll() would
    actually "improve its I/O performance". Each Privoxy thread calls select() for its
    own network sockets, so the fact that select() scales poorly with lots of sockets should
    not affect i/o performance.

     

Log in to post a comment.

MongoDB Logo MongoDB