default vhost per class

These are old archives. They are kept for historic purposes only.
Post Reply
RagaBaSH
Posts: 2
Joined: Tue Jun 08, 2004 7:20 am

default vhost per class

Post by RagaBaSH »

hi,
I just installed Unreal3.2cvs20040601 (only one I could find then as I couldn't reach the .com page that day) to run for me and a few friends as our own private network.

I got pretty much everything working (links up perfectly, cheers for that). except now I want all my users to automatically get a vhost when they connect. and not like +x setting where it gets masked.

I would like for them to get a vhost like: <user>@user.mydomain.com or <user>@bot.mydomain.com without having to do anything for that.. I have checked the FAQ and docs, and couldn't find anything like that..

anyone got any ideas how to fix this?
thnx

Raga
Dukat
Posts: 1083
Joined: Tue Mar 16, 2004 5:44 pm
Location: Switzerland

Post by Dukat »

There's no such feature.


If you really need that, you should buy codemastr's HostChange module.
http://www.codemastr.com/?page=module
AngryWolf
Posts: 554
Joined: Sat Mar 06, 2004 10:53 am
Location: Hungary
Contact:

Post by AngryWolf »

I totally understand how nice automatic vhosts are, but if you are thinking to have something as a service or good addition to your network, be sure it's secure enough not to cause trouble. (This isn't regarding to the HostChange module.) Imagine the following (possible) situation:

1. A person with the nickname Abuser connects as [email protected] and joins #test
2. [#test] <Abuser> F*** y**, ChanOp!
3. Abuser gets banned (+b *!*@test.mydomain.com).
4. Abuser reconnects with the username "test2" and joins #test.
5. Abuser gets banned again (+b *!*@test2.mydomain.com).
6. Now does the same with the username "test3".
7. The ChanOp has enough of this and bans *!*@*.mydomain.com

Result: noone can join #test anymore. Or if not, and the ChanOP makes the channel invite only or sets a password, then there won't be any secure public channels on your network. I doubt you want that.
RagaBaSH
Posts: 2
Joined: Tue Jun 08, 2004 7:20 am

Post by RagaBaSH »

those options have absolutely crossed my mind.
but the thing is, I have set up a few vhost with the normal vhost <domain> {} stuff. which are available to all users.
so if they really wanted to there would be no stopping them anyways. besides. its a very very small network (20 users max) and the chance of abuse is very tiny.

now its not absolutely necesary to have them completely vhosted off. (its actually not about giving them a vanity name or anything). I just want a way to have ppl's ISP name blocked off the join msg's etc.
so if a user joins a chan ppl see

Code: Select all

-!- User [user@hide--D250C8A5] has joined #help
instead of

Code: Select all

-!- User [[email protected]] has joined #help
or
-!- User [[email protected]] has joined #help
so a modified cloak.so would be fine as well.

I asked for the vhost option cuz I friend of mine got the same feature working on a version of the linknet server. and he told me that it should be available in all big packages (he mentioned bahamut, and hybrid I think).

maybe someone can help me think of a way.
I checked out the hostchange-1.0 but paying $30 dollars would be a last resort for me, as its only a server for fun...

thnx for the thoughts so far..

Raga
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

Actually, considering that Unreal does have modulized cloaking (as of CVS), you could look at cloak.c and learn how to make your own cloaking algorithm.

I had an idea to simply send the entire hostmask the md5(). While varlenghth->fixed lenght string doesn't garuntee a 100% unique hash value (but for a hashing algorithm, you can never have 100% unique anyway), but it would be very simple and you would have little need for set::cloak-keys. An example:

aquanight is aquanight@d8a6298374063cf71af7da35d298a11d.md5cloak.irc.mynet.net * aquanight
aquanight connecting from *@24-117-98-156.cpe.cableone.net
...

You would probably want to actually use set::cloak-keys to decide what to append to the end of the md5 hash, or you can hardcode the .md5cloak. part and append the server name (like my example).

A channel operator could then ban me using:
*!*@24-117-98-156.cpe.cableone.net (real host)
*!*@d8a6298374063cf71af7da35d298a11d.md5cloak.irc.mynet.net (cloaked host, only affects me if I connect to the same server)
*!*@d8a6298374063cf71af7da35d298a11d.md5cloak.* (cloaked host, affects me no matter what server)

This would naturally apply to exemptions as well.

(It would be a good idea to use base64, however, instead of standard hex notation for the hashes.)

Note, however, that this makes it impossible for channel operators to ban broader hosts, but if they know how to un-md5(), they could then ban the real host :P .

This can be solved by using an md5 hash against each part of the hostname (i.e. splitting on the .), but with many subdomains, and using md5 (even with base64), such masks could exceed the limit allowed for hostnames. Therefore, a hashing algorithm that produces a shorter hash would be strongly recommended.

The ability to include the server may be useful in some cases, though they escape me at the moment... if you use a single hash, you must include some form of TLD so that the hostname is valid.
Post Reply