Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Archived Forums » RenGuard Client » Renguard Crash or something.
Re: Renguard Crash or something. [message #236991 is a reply to message #231754] Wed, 03 January 2007 06:02 Go to previous messageGo to previous message
0x90
Messages: 142
Registered: September 2006
Location: Germany
Karma:
Recruit
ok second try: someone deleted my original post silently which is not very nice! bad bad censorship! Razz

ok i removed some things which i think they werent ok (how should i know if you just delete it without notice?!) and post it again.

and this time: if something isnt ok, tell me or just edit it... please.

so here we go again:

hi,

i were able to reproduce it somehow. imho it doesnt have something to do with blocked ports or whatever. renguard is querying a list of webservers for a file called "index.bin" which holds information about the available renguard server ips like
(DWORD SERVERCOUNT)(DWORD SERVERIP[SERVERCOUNT])

this routine gets called right after displaying the main renguard window. it will iterate the list of the following servers: (in this order)

1. http://members.lycos.co.uk/renguard0/index.bin (disabled)
2. http://mitglied.lycos.de/renguard/index.bin (works)
3. http://renguard0.tripod.com/index.bin (download blocked)
4. http://www.renguard.com/_priv_beta/index.bin (works of course)
5. http://renguard.0catch.com/index.bin (works)


so if you have this freezing problem like in the screenshot try connecting to all of this servers in this order. just copy&paste them into your browser! at least one should offer you to download a file called index.bin. if you get an error page or just nothing you are at least a little bit closer to the problem.

the problem which causes this freeze can be found in the renguard code which gets this index.bin file from those servers:

1. renguard connects to the next server (for example members.lycos.co.uk)
2. if connected it sends the http get request to recieve the index.bin
3. if data has been sent it enters the following loop:
4. kernel32.sleep for 5ms
5. ioctlsocket(FIONREAD) on the socket to check if there is data
6. if no data available it jumps to 4.
7. if data available it searches for a \r\n\r\n and for the content-length to get the content of index.bin
8. if not found it jumps to 4.


so the main problem: there is no abort-condition. if renguard just cant connect to one of the servers it will abort and you will get an error message that no server has been found and that you should check your internet connection. (what would be at least better than freezing).
but if renguard can connect but it either recieves no data at all or not the right data (no content-length and double\r\n) it just freezes in an infinite loop, sleeping 5ms and checking for more data.
if interested you can reproduce it by redirecting the first host (members.lycos.co.uk) to localhost (127.0.0.1) and running netcat (for example) on port 80. you will see the renguard-request for index.bin like this:

>nc -l -p 80
GET /renguard0/index.bin HTTP/1.1
Host: members.lycos.co.uk
Connection: Keep-Alive
Accept: */*
User-Agent: RenGuard


and since you dont send anything back.. renguard just freezes.

and im pretty sure about that because this is the first thing renguard does after showing the main window and if it got one index.bin it will print the message "Connecting to server #N" and refresh the window, so you would see this!

ok enough tec-talk.. what can you do against this?!
well if you tried to request the five urls in the top of this post and at least one downloaded, it _should_ work!
but you could still have some desktop firewall/security tool installed which only blocks renguard and other (unknown) tools and doesnt block your browser so you can download them manually.

so please make sure that you have _no_ firewall/blocking/whatever tool installed or just put renguard on its whitelist.

this could also be fixed by improving the renguard code or just connecting to renguard.com since it seems that renguard server is always running on renguard.com
so i really dont know what this ip-via-index.bin is really needed for (since its against the terms of service of most providers like tripod/lycos anyways).

or you could perhaps fix it yourself by running some kind of (fake)webserver at localhost and send index.bin to renguard on your own.

a good first step would be using ethereal (www.ethereal.com) to see whats really going on and where its blocking.

ok conclusion:
its caused by (somehow) blocked access to those webservers which are holding the index.bin. this is obviously caused by your pc or something on your pc.
try to get access to those servers!
something on your computer is blocking the access so... find and remove it!

@the people with the freezing problem: please try it and report back.

hope i could help

regards,
0x90

[Updated on: Wed, 03 January 2007 06:05]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: W3ds
Next Topic: To blazer or whom ever sent me this
Goto Forum:
  


Current Time: Wed Nov 20 10:58:55 MST 2024

Total time taken to generate the page: 0.01321 seconds