|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
| LinkBack | Thread Tools | Display Modes |
| |||
Quote:
<CFCONTENT type="text/html" reset="YES"> That's why CF version GWebCache needs that tag enabled, otherwise clients that do not expect a leading space will assume there was an error. If the tag is disabled for security issues, there are some other workarounds for that problem but are not elegant. Wish Allaire/Macromedia put in some efforts in fixing that issue, it's been around for quite a while now. Haven't had the chance to try CF MX yet... -- Mike |
| |||
I just looked at your newest version (0.3). Looks good but I have a couple of suggestions for you. Line 23: If Request.Querystring("restart") = 1 Then StartASPEngine '//Change The Default Value You should probably remove this or add a check for security. Line 40-47: If Request.Querystring("url") <> "" Then UpdateHostCache Status = "OK" End If If Request.Querystring("ip") <> "" Then UpdateHostCache Status = "OK" End If The way it is setup Request.QueryString("url") is checked up to 4 times and ip is checked up to 3 times. I would suggest changing the behavior of 'UpdateHostCache' to return the status and replace the lines above with: Status = UpdateHostCache() ' Return "" if no update Response.Write Status Line 251-270: Function IsValidIp Should add a little more checking. The way it is right now if I sent the ip 0.0.0.0 or 255.255.255.255 or 999.999.999.999 it would pass even though it shouldn't. Need to block these ips also: 10.*.*.*, 255.255.255.255, 172.16.*.* - 172.31.*.*, 0.0.0.0. ip range 192 should be changed to 192.168.*.* I did this too but unless you can think of a reason, I see no reason to store the ip and port separately. Also, just curious but why no locks? |
| |||
It looks like the reason it froze up is because you have functions that exit without unlocking the application ie: Function asdf Application.Lock If A ="" Then ' should be an application.unlock here Exit Function End If ... Application.Unlock End Function The reason for the locks is to keep the counts correct. An example would be if two clients hit the following line at the same time. Application("count") = Application("count") + 1 If you assume Application("count") = 0 before they hit this line two things could happen. Either it will work fine and the count will be 2 or when both clients get the value of count before adding one they both get the value 0 in which case both clients set the count to 1. Honestly if you are not going to get a lot of hits at the same time you don't really have to worry about this, but it doesn't hurt performance if done correctly. You only need to when updating really. Quote:
But you should probably set the default to something besides 1 since most of the other functions use a 1. Just some advice though. |
| ||||
Thanks, I really appreciate your help. Would you like to code Lynn with me together? If you want you will get access to my ASP Server too. (Great server: The premium package of www.maximumasp.com) Do you have ICQ? My number is: 94543674 |
| ||||
Well, thats cool. I will try to fix that lock problem, I dont really know how to validate an ip? What range do IPs have? Is it always from 1 to 255? I searched for tshdos on ICQ and I found one are you Kevin? Well it is ok if I add your name on that temporary homepage of Lynn? |
| |||
Quote:
Example: Public Const IP_MASKS = "127|192.168|(...)" For Each Mask In Split( IP_MASKS, "|" ) If Left( HostIP, Len( Mask ) ) = Mask ) Then 'block ip ... IPs range from 0 to 255. I am not sure if it is possible to have a 0 as the first number in an ip but it is ok for the others. I also think 255 might be reserved but I will have to check on that. Quote:
Quote:
|
| |