Skip to content

MrIron-no/undernet-cservice-p10

 
 

Repository files navigation

Undernet Channel Service (X)
Copyright (C) 1995-2002 Robin Thellend

This is the original Channel Service software that was used
on Undernet between 1995 and 2001.

For copying and licensing information, please see COPYING in
this directory.

This software is mostly obsolete now. It has been replaced
by GNUworld/CMaster, which can be found at:
http://gnuworld.sourceforge.net/

This software is unsupported, which means I have no intention
of ever releasing a new version. It is provided mainly for
educational and historical purposes.

Undernet ran this code on many different platforms, including
Solaris (sparc and x86), Linux, Freebsd, and OSF/1. As far as
I know, it should still compile and run fine on any of them with
a few minor adjustments.

However, I do NOT recommend using it in a production environment.

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

To compile:
  $ cp config.h.dist config.h
  $ vi config.h  # set everything correctly
  $ cp cs.conf.dist cs.conf
  $ vi cs.conf   # set everything correctly
  $ make

To run:
  $ ./cs -f cs.conf

You can reach me at <[email protected]> for questions or comments,
but I reserve the right to completely ignore you if I feel like it.

IRCU P10 FORK:
I started off with a nostalgic project of rewriting the old Undernet Channel Service 
bot X/W to be compatible with the current P10 protocol of ircu. The bot has not been tested in debth, 
and the above recommendation of not using it in a production environment is repeated. 

The purpose of the project has been to keep the bot as authentic as possible, and hence
no new features have been added. There is however two exceptions: 
- a REGISTER admin command has been added to allow channel registrations over IRC command.
- the bot will login to GNUWorld's mod.ccontrol (UWorld) to op itself via the REOP command. If neither
ccontrol nor FAKE UWORLD is available, the bot will op itself through servermode. 

For protocol compatability the bot will not reveal real hosts in an umode +x/account environment, 
and the possibility to hide server names and disable the MAP command for non-opers have been included.

The original HTTP interface should work if DOHTTP is defined in config.h. Make sure that HTTP_REDIRECT
is not defined, as this will redirect any attempts to the defined website. The index.html.dist file in HTTP/ 
must be replaced/renamed to index.html. The original way of registering new channels was to pass a raw command 
to the HTTP connection which should still work with the following steps:
1. Add a file called raw.auth in the root folder of the bot, including the IP address you will be connecting from.
2. Telnet to the IP address and HTTP port. Type the command 'CSRAW'. Answer the PING request with a PONG and the same prompt.
2a. The command "ISREG <#channel>" will respond YES or NO whether the channel is registered.
2b. The command "REG <#channel> <realname> <mask> 0 <admin nick> [password]" will register the channel (I don't know
    what the 0 was supposed to be, but it doesn't appear to be used).
  
The DCC CHAT feature works for users added to * with a + before their ident, and their connecting IP as the hostmask. 
Initiate the DCC session by sending a /DCC CHAT followed by /msg <bot> DCCME. Once connected, type "CHAT <user>/<password>"
where user is the +ident without the '+'. I have not (yet) tested the XCHAT java code which at a glance seems to allow for 
initiating a DCC CHAT session from a website.

KNOWN BUGS/TODO:

1. MALLOC definition returning compiling errors and has therefore been simplified to not trigger quit().
2. The BACKUP feature has not been tested/reviewed. 
3. NickServ crashes when it tries to deop unreg'd users (sic).

Enjoy this piece of history! 

- MrIron

About

The original Undernet Channel Service (X/W) used from 1995–2002. Fork for working with the ircu P10 protocol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 86.2%
  • HTML 10.8%
  • Other 3.0%