3.2.4 + cgiirc host module
well i have added an except on the mask where the cgi is located. i guess i'll just go back to the previous version of unreal and hope that someone will update de cgiirc module in the future since it could be of great importance to alot of users. thnx for your help.
Last edited by el_Misry on Thu Feb 09, 2006 5:51 pm, edited 1 time in total.
Hi
You should be able to fix the error on line 46 by changing:
To
Apparantly this doesn't break any of the tkline checking code in the module. However, I've yet to try banning a cgi-irc user. I fixed this module up while I was using my cgi-irc server as a test for Unreal3.2.4, so my production server isn't running the new Unreal/module yet.
As for the crash when clients disconnect, you should try commenting out line 334:
I believe this line causes problems because of the new resolver code. Note that you will lose the ability to confirm that the cgi-irc user's hostname resolve both ways (their fdns and rdns match) if you remove this!
Edit: While you could use the temp hostent to validate the DNS, the code in the module appears to only fire off the warning, but not revoke the invalid hostname (correct me if I'm wrong). Using gethostbyname() in connection events probably isn't a good idea either - it blocks, and could freeze your IRCd for a while if the DNS servers you're trying to query are down or your DNS is misconfigured.
You should only use these changes if you can't wait for someone to make a proper solution.
I make no guarantees that this code will make the module stable so make sure you don't load it into a production server before testing.
Best wishes,
Karl
You should be able to fix the error on line 46 by changing:
Code: Select all
extern int find_tkline_match(aClient *, int);
Code: Select all
extern int (*find_tkline_match)(aClient *, int);
As for the crash when clients disconnect, you should try commenting out line 334:
Code: Select all
cptr->hostp = gethostbyname(p->host);
Edit: While you could use the temp hostent to validate the DNS, the code in the module appears to only fire off the warning, but not revoke the invalid hostname (correct me if I'm wrong). Using gethostbyname() in connection events probably isn't a good idea either - it blocks, and could freeze your IRCd for a while if the DNS servers you're trying to query are down or your DNS is misconfigured.
You should only use these changes if you can't wait for someone to make a proper solution.
I make no guarantees that this code will make the module stable so make sure you don't load it into a production server before testing.
Best wishes,
Karl
Last edited by Karl on Fri Feb 10, 2006 3:18 pm, edited 1 time in total.
I've added CGI:IRC support in UnrealIRCd itself in current CVS (unreal3_2_fixes branch):
It seems to work fine for me, though that is of course no guarantee ;).
Code: Select all
- Added CGI:IRC host spoofing support. This means you can mark specific CGI:IRC gateways as
"trusted" and the IRCd will show the users' _real_ host/ip everywhere on IRC, instead of the
host/ip of the CGI:IRC-gateway.
To do so you must set 'realhost_as_password' to 1 in your cgiirc.conf. And add the
CGI:IRC gateway(s) you fully trust to set::cgiirc::hosts.
Oh btw, I basically rewrote it yesterday. The CGI:IRC stuff is now configured in cgiirc { } blocks.
Also, the prefered way is now the webirc_password way instead of realhost_as_password (see link).
Also, the prefered way is now the webirc_password way instead of realhost_as_password (see link).
-
- Posts: 84
- Joined: Mon Nov 21, 2005 6:15 am
- Location: Cuba
I must confess the dev version is very very nice. I need the CGI:IRC module for my network and was kinda upset when I went to 3.2.4 but since I put in the dev version that Syzop was talkin about things are rather nice. CGIIRC itself took the config change just fine and my users get their ip added very easily. It's loverly I must confess. Thanks Unreal dev team!