CourtRoom Module (Tested on Unreal3.2.9-RC2)

These are old archives. They are kept for historic purposes only.
chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Wed Aug 17, 2011 4:51 am

I found the module laying around from a long time ago (i believe 2009) when I was trying to make it work. I have currently modified it enough to where it's stable on two test servers (one Unreal3.2.8.1 and the other is Unreal3.2.9-RC2). For those who are familiar with the module, I have removed the 'QLIST' command and system due to major instability. I changed the command to /suspend (no params will give a list of the current suspended masks). I don't have a lot of time ATM to describe the changes but note that the module is still being tested and is NOT guaranteed to work flawlessly. That being said, I would love to hear some feedback from people who would like to test this module out for me and see if there are any major problems. I did add a line to send a notice when a 'suspended' user connects to the network (auto-forces them into the channel if configured to). The following lines need to be added to your unrealircd.conf file in the set { } block.

Code: Select all

suspend-ignore	"#Support";
suspend-auto-join	"#Conference";
Download here
Your face looks like it was set on fire and put out with an axe ;x.

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Thu Aug 18, 2011 3:42 am

I decided to take a few minutes tonight to post a few of the responses seen while using this module. Thus far, it hasn't crashed Unreal like the original module does. Here are some examples.

What the IRCOps/Users see..

Code: Select all

[22:50] -irc.SummitIRC.com- *** chevyman2002 suspended the mask *@192.168.192.1 at Thu Aug 18 01:30:57 2011 (reason: Just testing the command and posting output...)
[22:50] * Parts: chevy (Death@836F2AFF.DD264E5.7408C8F2.IP) (User has been suspended (Just testing the command and posting output...))
What the end User sees..

Code: Select all

[22:50] -irc.SummitIRC.com- *** You have been suspended (Just testing the command and posting output...)
[22:50] -irc.SummitIRC.com- *** You were forced to join #Conference
[22:50] * Now talking in #Conference
[22:50] * irc.SummitIRC.com sets mode: +U
If they try to leave the channel..

Code: Select all

[22:53] -irc.SummitIRC.com- *** You were forced to join #Conference (You are not allowed to leave that channel)
[22:53] * Now talking in #Conference
And when they /quit and decide to try to return..

Code: Select all

(What Opers see..)
[22:54] -irc.SummitIRC.com- *** Suspended user chevy (*@192.168.192.1) just connected to the network!
The end user sees the same two notifications that they have been suspended and forced to join #conference (in this example).

Sample output from typing "/suspend" without parameters..

Code: Select all

[22:56] -irc.SummitIRC.com- 1) *@192.168.192.1 set by chevyman2002 on Thu Aug 18 01:30:57 2011 (reason: Just testing the command and posting output...)
[22:56] -irc.SummitIRC.com- End of suspension list [1 match displayed]
And finally, here's what happens when they are unsuspended..

Code: Select all

(What opers see)
[22:57] -irc.SummitIRC.com- *** chevyman2002 removed suspension for the mask *@192.168.192.1 (set by chevyman2002 at Thu Aug 18 01:30:57 2011 - reason: Just testing the command and posting output...)
(What the user sees)
[22:57] * chevy sets mode: -U
[22:57] -irc.SummitIRC.com- *** You are no longer suspended
After which, they can /part and resume conversing in channels an private messages as normal.
Your face looks like it was set on fire and put out with an axe ;x.

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Mon Sep 05, 2011 3:25 pm

Has anyone been able to try this module? I would like some feedback if possible.
Your face looks like it was set on fire and put out with an axe ;x.

katsklaw
Official supporter
Posts: 1114
Joined: Sun Apr 18, 2004 5:06 pm

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by katsklaw » Mon Sep 05, 2011 5:40 pm

Hey chevyman,

Not exactly sure what kind of feedback you are interested in. I personally don't have a use such modules. I'm more old fashioned and believe that IRC is not a democracy and users either follow the rules or they get banned. If I need to talk to a user I PM them. if they violate policies, I ban them. Talking to users about issues is all well and good but an entire system designed to do the same thing as PM and chatting in a channel can already do isn't needed. I don't see a need for users to be parted from all other channels just so I can talk to them. If a user breaks the rules and I want to talk to them about it, I ask them to join a channel and if they don't comply or get nasty about it, I ban them. Just that simple. IF I ban the user and need them to contact me/a team. I place the contact info in their gline reason. I can't help it if a user doesn't read that message. Please don't think me a tyrant, in truth I haven't banned a user from and channel or any network for several years.

IRC networks are private networks that grant limited and conditional access to the public. They always have been.

Just my opinion and good luck with your module.

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Tue Sep 06, 2011 5:21 pm

I agree with what you're saying. I used this a long time ago and it seems quite a few people have and it served its purpose well. I don't plan to use it in the foreseeable future myself but it was a nice challenge for me to get it working again and I know a couple networks that will use it for their own reasons. Honestly, I've just been really bored at work and wanted something to do. I'm just trying to become more familiar with Unreal coding and modules (hence the m_sanick module and some mods to others I've done). I tend to do a lot of useless things (mod to pJIRC and an Unreal module to support the old ConferenceRoom /furl command; force URL launch to the web client).

Back on topic, I was only curious if anyone had downloaded and loaded it so that I knew if there were any problems, essentially. That's really the feedback I was after.
Your face looks like it was set on fire and put out with an axe ;x.

n0kS
Official supporter
Posts: 15
Joined: Sun Oct 05, 2008 12:16 am

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by n0kS » Fri Sep 09, 2011 4:06 pm

I think this is a very useful module. That way, people that spam channels or whatever can be suspended, and that way he can still visit 1 channel where he can chat with other people (like ##spam-channel , etc) and still can /query other people he knows, until his suspension expire. The gline option is still there but sometimes that's a very severe decision.

I'll test it when I got the chance. Thank you for doing it!

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Fri Sep 09, 2011 5:06 pm

n0kS wrote:I think this is a very useful module. That way, people that spam channels or whatever can be suspended, and that way he can still visit 1 channel where he can chat with other people (like ##spam-channel , etc) and still can /query other people he knows, until his suspension expire. The gline option is still there but sometimes that's a very severe decision.

I'll test it when I got the chance. Thank you for doing it!
I've used it (a long time ago) to force a user, that started spamming a website, into the set channel as they would /part when i /sajoin'd them to a private area until I explained that they couldn't spam and sent them on their way. Now, when they are suspended, they cannot talk to other people in query (PM) or otherwise. All communication is blocked for them unless they are trying to PM an IRCOp or talking in the channel(s) whitelisted in your configuration. Also, the suspensions do not automatically expire. They are permanent when set until someone manually removes them.

Let me know how it works and if you have any problems.
Your face looks like it was set on fire and put out with an axe ;x.

Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by Stealth » Sun Jan 01, 2012 1:58 am

This module fails to compile on Windows (3.2.9 release):

Code: Select all

	cl /LDd /MD /Zi /D USE_SSL  /D USE_LIBCURL /J /Fesrc/modules/  /Fosrc/modules/ /nologo /I ""D:\unreal\dev\tre"" /I ""D:\unreal\dev\c-ares"" /I ""d:\unreal\dev\curl\include""  /I ""d:\unreal\dev\openssl\include"" /I ./INCLUDE /D  DYNAMIC_LINKING /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T src/modules/courtroom.c /link /def:src/modules/module.def wircd.lib ws2_32.lib /LIBPATH:""D:\unreal\dev\tre\win32\release"" "tre.lib" /LIBPATH:""D:\unreal\dev\c-ares\vc\cares\dll-release"" /LIBPATH:""d:\unreal\dev\openssl\out32dll"" ssleay32.lib libeay32.lib    /LIBPATH:""d:\unreal\dev\curl\lib\dll-release"" libcurl_imp.lib  /OUT:src/modules/courtroom.dll 
courtroom.c
src/modules/courtroom.c(93) : warning C4005: 'IsSkoAdmin' : macro redefinition
        D:\Unreal\INCLUDE\struct.h(693) : see previous definition of 'IsSkoAdmin'
src/modules/courtroom.c(522) : warning C4113: 'iFP' differs in parameter lists from 'int (__cdecl *)(aClient *,int)'
   Creating library src/modules/courtroom.lib and object src/modules/courtroom.exp
courtroom.obj : error LNK2019: unresolved external symbol _m_part referenced in function_set_quarantine

Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by Stealth » Sun Jan 01, 2012 2:01 am

Also, you should put your own info in the module header and create/edit the documentation for the module :)

(and your other modules too)

(but don't forget to leave credit for the original author as required by GPL)

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Sun Jan 01, 2012 1:18 pm

Thanks for the feedback. I never tried to compile it as a DLL since it seemed like a lot of work to setup the environment (and I use Linux for my IRC stuff).

Code: Select all

src/modules/courtroom.c(93) : warning C4005: 'IsSkoAdmin' : macro redefinition
        D:\Unreal\INCLUDE\struct.h(693) : see previous definition of 'IsSkoAdmin'
src/modules/courtroom.c(522) : warning C4113: 'iFP' differs in parameter lists from 'int (__cdecl *)(aClient *,int)'
   Creating library src/modules/courtroom.lib and object src/modules/courtroom.exp
courtroom.obj : error LNK2019: unresolved external symbol _m_part referenced in function_set_quarantine
I'm really curious about the warning regarding 'IsSkoAdmin' and the error regarding _m_part. Mainly because the only reference in the code to m_part has been commented out (it didn't work) and the IsSkoAdmin definition and usage were all changed to SkoAdmin to avoid any problems since IsSkoAdmin has been defined in the struct.h file since this module's creation. At any rate, I'm still at work and don't have the luxury to download visual studio until I go home (and sleep first) but I will attempt to tweak it so it'll compile into a DLL sometime today.
Your face looks like it was set on fire and put out with an axe ;x.

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Mon Jan 02, 2012 12:45 am

Does it make any difference whether or not SSL support was compiled? The courtroom module compiled into a DLL just fine for me (but I didn't compile with support for zip/ssl/remoteinc). Not sure why that would matter though.

Code: Select all

        cl /LDd /MD /Zi    /J /Fesrc/modules/  /Fosrc/modules/ /nologo /I "C:\un
real-windev\tre" /I "C:\unreal-windev\c-ares"    /I ./INCLUDE /D  DYNAMIC_LINKIN
G /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DE
PRECATE /D _USE_32BIT_TIME_T src/modules/courtroom.c /link /def:src/modules/modu
le.def wircd.lib ws2_32.lib /LIBPATH:"C:\unreal-windev\tre\win32\release" tre.li
b /LIBPATH:"C:\unreal-windev\c-ares\vc\cares\dll-release"         /OUT:src/modul
es/courtroom.dll
courtroom.c
src/modules/courtroom.c(518) : warning C4113: 'iFP' differs in parameter lists f
rom 'int (__cdecl *)(aClient *,int)'
src/modules/courtroom.c(1244) : warning C4133: 'function' : incompatible types -
 from 'aClient *' to 'suspend *'
src/modules/courtroom.c(1245) : warning C4133: 'function' : incompatible types -
 from 'aClient *' to 'QFlag *'
src/modules/courtroom.c(1318) : warning C4133: 'function' : incompatible types -
 from 'unsigned char *' to 'aClient *'
   Creating library src/modules/courtroom.lib and object src/modules/courtroom.e
xp
And some testing:

Code: Select all

[18:44] -win32.SummitIRC.com- There are currently no suspended users.
[18:44] -win32.SummitIRC.com- Syntax: SUSPEND [+|-]<mask|nick> <reason>
[18:45] -win32.SummitIRC.com- *** chevyman2002 suspended the mask *@192.168.1.123 at Mon Jan 02 00:25:39 2012 (reason: just testing with a semi-long reason, even though it should work just fine... ok here goes!!!)
[18:45] * Parts: test (Death@A2E2503B.6A47A965.7408C8F2.IP) (User has been suspended (just testing with a semi-long reason, even though it should work just fine... ok here goes!!!))
[19:02] -win32.SummitIRC.com- 1) *@192.168.1.123 set by chevyman2002 on Mon Jan 02 00:25:39 2012 (reason: just testing with a semi-long reason, even though it should work just fine... ok here goes!!!)
[19:02] -win32.SummitIRC.com- End of suspension list [1 match displayed]
Your face looks like it was set on fire and put out with an axe ;x.

Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by Stealth » Mon Jan 02, 2012 2:42 am

Seems to work here now, don't know why it didn't before :\

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Mon Jan 02, 2012 3:01 am

Stealth wrote:Seems to work here now, don't know why it didn't before :\
Think you may have had an old copy or something?? Glad it's working though! I may compile all the modules I have the source code to into 3.2.9-release DLLs now that I have the win32 environment setup (that's the only reason I never released the DLLs to begin with; pain in the butt to get it all setup).
Your face looks like it was set on fire and put out with an axe ;x.

fnaveira
Posts: 1
Joined: Wed Jan 11, 2012 5:21 pm

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by fnaveira » Wed Jan 11, 2012 5:23 pm

Hello to activate this module last 10 minutes, the nodes become unresponsive and is not accessible to them, someone has to operate?

chevyman2002
Posts: 62
Joined: Sun Nov 14, 2004 2:55 am
Location: Texas
Contact:

Re: CourtRoom Module (Tested on Unreal3.2.9-RC2)

Post by chevyman2002 » Thu Jan 12, 2012 1:52 am

fnaveira caught me on IRC earlier today and explained their situation. On their network, they have what looks to be 10 servers in the network with a little over 800 users or so (as of when I looked). When the module is loaded on them all, it starts blocking incoming connections. There is nothing reported to the log about the problem and it just states "Connection refused" when you attempt to connect. This problem seems to only be isolated to his case (he slowly added servers and tested until it reached 5 I believe and it started refusing, but that could also be dependent upon the userbase). While we were looking at this, I found an issue with the way the module syncs joins to the 'courtroom' channel(s) via the SJoin structure.. This instance seems to exist when two or more servers are connected (which is a major problem; even though it didn't effect stability at the time). I will now have to debate writing this module from scratch as it will take a significant amount of time to do. If I do so, I will make every attempt at adding the ability to dynamically load and unload this module to avoid having to take down servers for the sake of unloading it.
Your face looks like it was set on fire and put out with an axe ;x.

Post Reply