Author: Alexander Barkov
Email: [EMAIL PROTECTED]
Message:
Hello!
> I've posted a message with topic "Too many open files" a week ago and
>there are no any messages about it. It makes me sad. I like your project, but your
>support and programming culture is BAD ENOUGH!!!
>
> 1) The first problem was in "too many open files" topic. As I've guessed
>first time, you forgot to close the TCP socket when connection to host fails (time
>out). Look at the line 265 in proto.c (function open_host)... I've found this bug in
>20 minutes by simple reading and text search operation though all your source. I do
>not understand why developers did not react to my message. They get money for
>installing and supporting their system from clients. It seems that it's senseless to
>pay them money for support. Hey, guys, do not loose your clients.
We develop such big project first time. So probably your are
right, our programming culture may be still not good enough.
3 years ago personally me even didn't know what is socket. So
we are learning how to open and close them developing the project.
Yes, that's my code. An I'm VERY VERY VERY sorry that I forget to close the socket
when connection fails. Probably this is because I didn't had so many timeouts to test
this case.
We are currently very busy developing new 3.2 branch,
it will have many new nice features. It can seem that we don't react because
we are doing our best to give first release as soon as possible.
However all bug reports are collected and considered how to fix
them. All fixes will be incorporated in both 3.1.13 release and
new 3.2.x releases.
> 2) Your UdmEscapeURL() function from udmutils.c (line 394) is WRONG. It does not
>escapes russian characters. More accurate and precise variant of while statement is
>the following one:
>
> for ( ; *s; s++,d++){
> if (isalnum(*s)) *d=*s;
> else if (*s==' ') *d='+';
> else {
> sprintf(d,"%%%02X", (unsigned char)*s);
> d+=2;
> }
> }
This is known RFC incompatibility.
Unfortunatelly, this DOES NOT WORK under Apache with mod_charset
available from apache.lexa.ru. Incorrect behaviour appears when
somebody press Next page link and browser and CGI script works
in different character sets. Links became broken, all letters
in the range 128-255 are not in the original form, posted by
user. And CGI even does not know the original form. It have already
recoded query string.
So we didn't implement this because:
1. This DOES NOT affect non-Russian users. At least we never
got such bug reports from non-Russians. All national characters
work fine for Gemans, Czechs, Hebrews and many many other people.
2. Apache with mod_charset is the MOST POPULAR in Russian word.
I hardly will be much wrong if I say that 95 % Russians web
servers work under Apache with mod_charset.
3. This DOES NOT WORK under Apache with mod_charset.
4. Our version DOES WORK under Apache with mod_charset.
5. Our version DOES WORK almost under any HTTP server without
built-in charset processing.
I agree we can add something like --enable-escaping into
configure with conditional compilation for this piece of
code. But trust me we had much work to do implement this
before. We had only one related bug report, it was from
guys who port OS2 version of msearch. So we spent out time
for other most requested things.
> 3) Your HTML parsing is wrong in some cases. For example, they are parsing META-tag
>Content-Type/charser and Refresh/URL. Can you imagine that "URL" may be in
>lower or mixed cases???
> I've repaired a lot of your lines like those (parsehtml.c, line 190):
>
> if(!strcasecmp(tag.name,"refresh")){
> if((href=strstr(tag.content,"URL=")))
> href+=4;
> }else
>
> Right code is:
>
> if(!strcasecmp(tag.name,"refresh")){
> if((href=strcasestr(tag.content,"URL=")))
> href+=4;
> }else
>
> Don't look for strcasecmp in manuals. It's handwritten function. I hope you are able
>to write it in 5 minutes.
>
This is several lines above:
// Make lower string
for(l=s;*l;*l=tolower(*l),l++);
> 4) You have some bugs in spelling module when using two different languages. It does
>not work properly in some cases of placement Affix and Spell lines in config file.
Ivan, please provide more information. Your third bug report
was very informative, unfortunately it was fixed before it appeared.
Reply: <http://search.mnogo.ru/board/message.php?id=2016>
___________________________________________
If you want to unsubscribe send "unsubscribe general"
to [EMAIL PROTECTED]