init
This commit is contained in:
478
doc/history/2.4.notes
Normal file
478
doc/history/2.4.notes
Normal file
@@ -0,0 +1,478 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, 2.4.notes
|
||||
* Copyright (C) 1990 Markku Savela
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
IRC 2.4 release notes 6 May 1990/msa (Markku.Savela@vtt.fi)
|
||||
============================================================
|
||||
|
||||
This document explains the changes I have done up to this
|
||||
point. Some additional changes and packaging has been made by
|
||||
Chelsea (chelsea@earth.cchem.berkeley.edu). This is personal
|
||||
view of the changes.
|
||||
|
||||
CHANGES TO LAST THE OFFICIAL RELEASE (2.2PL1)
|
||||
|
||||
This release of irc2.4 is based to 2.2PL1 release (see the
|
||||
HISTORY chapter later in this document). Aside from fixing the
|
||||
bugs, this version is in many ways different from the 2.2PL1.
|
||||
The purpose of the most changes is to make it easier to run an
|
||||
IRC server. Normal users benefit from these changes indirectly
|
||||
by getting a better maintained server.
|
||||
|
||||
1. Changes visible to normal users
|
||||
|
||||
Even while mainly fixing bugs, some user visible changes have
|
||||
crept in too.
|
||||
|
||||
1.1 General note on wildcards
|
||||
|
||||
Many commands accept now wildcard matching where applicable. All
|
||||
compares are case insensitive (e.g. "a" == "A"). The wild cards are
|
||||
|
||||
? matches any single character
|
||||
|
||||
* matches any number of characters, also empty
|
||||
string. [PL1 had a bug, which caused "*du*"
|
||||
not match "....edu"].
|
||||
|
||||
1.2 Server supported wildcards for "/who mask" command.
|
||||
|
||||
Protocol message is "WHO mask", where mask can be
|
||||
|
||||
empty
|
||||
0 List all users [No change from PL1]
|
||||
|
||||
* List all users on the same channel where the user is
|
||||
(or all, if user is on 0) [No change from PL1].
|
||||
|
||||
number List all users on the specified channel [No change
|
||||
from PL1]. Note, if the "mask" begings with a digit,
|
||||
this form is assumed, and the remainder of mask is
|
||||
ignored, e.g. "/who 12*.fi" gives all people from
|
||||
channel 12 and ignores the "*.fi" part.
|
||||
|
||||
mask If the mask is any string, it will be compared
|
||||
*separately* to each information field of the user
|
||||
and if a match is found in any field, that user
|
||||
is included into the list. The fields searched
|
||||
are
|
||||
|
||||
nickname
|
||||
loginname (account name)
|
||||
real name (text shown in parenthesis)
|
||||
hostname (users machine)
|
||||
servername (server he/she is using)
|
||||
|
||||
Note: servername is not usually shown on WHO output,
|
||||
but is included in anyway. Example: finding all users
|
||||
somehow connected with Finnish sites, can be achieved
|
||||
with mask "*.fi".
|
||||
|
||||
1.3 Changes to /whois command
|
||||
|
||||
As WHO, also /whois accepts wild cards as a parameters. WHOIS
|
||||
returns information for all users whose nickname matches the specified
|
||||
mask.
|
||||
|
||||
WHOIS automaticly calls WHOWAS [see below], if the attempted nickname
|
||||
is not found.
|
||||
|
||||
1.4 Short term "WHOWAS" history
|
||||
|
||||
The server has a short in memory cache of the recent nickname changes
|
||||
(the current default is set to 200 last changes). The design goal of
|
||||
this is that it remembers changes in last few minutes, there is no
|
||||
intention of this to be a long term history. That must be a separate
|
||||
project, although it could use the hooks provided by this service.
|
||||
|
||||
"WHOWAS nickname" queries this cache and returns about the same
|
||||
information that WHOIS would do, if the nickname is found. Wildcards
|
||||
are not accepted here, this is a specifically designed feature. If
|
||||
the name is not found, WHOWAS doesn't reply anything. This is because
|
||||
the most useful use of WHOWAS is implicitly through "WHOIS".
|
||||
|
||||
This history is also implicitly utilized by KILL command.
|
||||
|
||||
1.5 New SERVER-SERVER/SERVER-CLIENT protocol message WALLOPS
|
||||
|
||||
The message ":source WALLOPS :Message" sends the message text
|
||||
to all operators that are currently online. Any user can use this
|
||||
command, it's not restricted. How this function is activated, depends
|
||||
on the client, but if nothing else works, "/quote wallops text" should.
|
||||
|
||||
NOTE:This function will not be fully operational until *ALL*
|
||||
servers have upgraded to version 2.4. Also, operators
|
||||
must be using a client that recognizes this command.
|
||||
|
||||
This is really a hasty addition. But, done this way it follows
|
||||
the general IRC message philosophy, where messages are sent only
|
||||
to links where they are needed (e.g. WALLOPS goes only to servers
|
||||
that have opers online--it's not broadcast to every server).
|
||||
|
||||
1.6 General use of wildcarding in server queries
|
||||
|
||||
All commands that previously took a servername as a parameter,
|
||||
now accept also a wildcarded mask. The mask is replaced with
|
||||
the first matching servername. The following user level commands
|
||||
are affected
|
||||
|
||||
/admin server -- administrative info
|
||||
/time server -- local time
|
||||
/version server -- the server version
|
||||
/motd server -- "the message of the day"
|
||||
/info server -- info (usually same on same server version)
|
||||
/stat f server -- statistics information
|
||||
/users server -- users logged on server machine
|
||||
|
||||
Note: Remote capability is a new feature for "info" and "stat"
|
||||
commands. Until all servers have upgraded, these commands may not
|
||||
reach the intended target and may return the information from some
|
||||
intermediate server.
|
||||
|
||||
1.7 Marking user AWAY
|
||||
|
||||
v2.2PL1 version and earlier showed the AWAY-state (G) only for
|
||||
the local users of the same server. AWAY status could be queried
|
||||
only by sending a message to a user. This release (or since msa.4)
|
||||
broadcasts the away status to every server and the commands /WHO and
|
||||
/WHOIS give this information reliably.
|
||||
|
||||
A side effect of this change is: when a user marks himself/herself
|
||||
as AWAY, all pre-msa.4 servers that are reached will send back an
|
||||
acknowlegde message. Until all servers are upgraged, use of AWAY
|
||||
is somewhat inconvenient. If you get extra messages from AWAY,
|
||||
they also contain the server information. Use /admin command and
|
||||
send a *friendly* request for the admin to upgrage his/her server
|
||||
to a working version, namely 2.4 :)
|
||||
|
||||
1.8 Servers don't restrict characters within messages
|
||||
|
||||
The parameter fields of the messages can now contain any characters
|
||||
in range 1-255, except '\r', '\n' and '\0'. The client programs should
|
||||
by default filter away the "dangerous" control characters, but intelligent
|
||||
clients can utilize this change and allow exchanges with foreign
|
||||
8-bit (or wider) charactersets. (The actual command parts must still be
|
||||
represented with the ordinary 7-bit characters.)
|
||||
|
||||
2. Changes visible to the server administrator
|
||||
|
||||
2.1 Identifying servers
|
||||
|
||||
Servers/clients have now always two names (it was this way in
|
||||
PL1, but I think this version makes the idea more clear):
|
||||
|
||||
Announced Name:
|
||||
|
||||
The official name of the server (the name you use in
|
||||
/time, /quote connect, etc) or users nickname. Servers
|
||||
name is usually the hostname, but can actually be almost
|
||||
any string of characters resembling hostname. This one
|
||||
is given in M-line of ircd.conf.
|
||||
|
||||
Socket hostname:
|
||||
|
||||
Socket hostname of the server or client. This is the hostname
|
||||
of the connecting server/client and this is resolved from the
|
||||
connection. If resolve cannot be done, ircd defaults to using
|
||||
numeric IP-address. *ALL* access checks are based on this
|
||||
name, especially noteworthy fact, if your resolver cannot find
|
||||
hostnames by IP-address, you must allow the access by IP-numbers
|
||||
in your ircd.conf.
|
||||
|
||||
In many places, where servers name is shown, actually both are
|
||||
shown. The general format of the displayed name is
|
||||
|
||||
AnnouncedName[SocketHostName]
|
||||
|
||||
When a connection is yet unkown, there is no AnnouncedName, and if the
|
||||
AnnouncedName is the same as SocketHostName, the "[..]"-part is omitted.
|
||||
|
||||
2.2 Many notices to local operators
|
||||
|
||||
If an oper is signed on the server, he/she will receive many
|
||||
notices about exceptional conditions and servers actions. When
|
||||
something goes wrong, it should be much easier to fix the problems.
|
||||
|
||||
Few often occurring, inportant error messages are
|
||||
|
||||
"Write error to SERVERNAME, closing link"
|
||||
|
||||
write() to socket returned with an error. Server is
|
||||
closing the link. This means usually network problems
|
||||
which you can do nothing about.
|
||||
|
||||
"Max buffering limit exceeded for SERVERNAME"
|
||||
|
||||
This is the situation where old server would have been
|
||||
"frozen". The socket buffers in your OS have been filled and
|
||||
even servers own predefined internal buffering MAX for a link
|
||||
has been exceeded. Exceeding this limit most likely means
|
||||
that the link is really dead, so the server closes the link
|
||||
and scratches all queued output for it. If the limit is
|
||||
set high ( > 20000 bytes), you won't usually see this, but
|
||||
just "No responce from SERVERNAME, closing link" as the
|
||||
server does not reply to PING as it should.
|
||||
|
||||
"Link SERVERNAME cancelled, server SERVERNAME already exits"
|
||||
|
||||
Two different servers from your net fragment attempted
|
||||
to connect same other net fragment about the same time
|
||||
and this collision is detected at your server. IRC routing
|
||||
does not allow loops, the link causing the loop is closed.
|
||||
(Which of the two links gets closed is mostly determined
|
||||
by pure chance and timing--you may lose a better link this
|
||||
way. Collisions should be rare in normal operation, if
|
||||
the timers in "config.h" are not messed up too much...)
|
||||
|
||||
Of course, you get this too, if you try to connect to a
|
||||
server that is already connected by some other route. In
|
||||
that case your attempted connection is just safely cancelled.
|
||||
|
||||
The notices attempt to be self explaining.
|
||||
|
||||
2.3 Links statistics collecting
|
||||
|
||||
IRCD now counts the bytes and messages transmitted to each open
|
||||
link. This information can be output with a command "/stats l"
|
||||
("/stats" or "/stat m" will give the old message count statistics).
|
||||
|
||||
Sample output
|
||||
|
||||
Link SendQ SendM SendBytes RcveM RcveBytes Open since
|
||||
oddjob.uchicago 0 203 8067 772 34321 Sun May 6 02:15:45 1990
|
||||
cs.hut.fi[sauna 0 1916 79798 94 3082 Sun May 6 01:51:25 1990
|
||||
otax.tky.hut.fi 0 3722 151511 426 22690 Sun May 6 00:25:54 1990
|
||||
nada.kth.se 0 8775 355811 5333 223853 Sat May 5 14:11:49 1990
|
||||
vehka.cs.uta.fi 0 23816 882000 901 41156 Fri May 4 22:50:23 1990
|
||||
lut.fi 0 25145 943765 1068 35020 Fri May 4 22:34:16 1990
|
||||
kreeta.helsinki 0 24286 899191 957 47085 Fri May 4 22:33:28 1990
|
||||
naakka.tut.fi 0 27754 1067302 8288 362960 Fri May 4 22:33:14 1990
|
||||
joyx.joensuu.fi 0 30003 1172949 2300 80053 Fri May 4 22:33:05 1990
|
||||
tel4.tel.vtt.fi 04083771 167473890 863475 35022755 Mon Apr 23 00:15:17 1990
|
||||
| | | | | |
|
||||
| | | | | Link established
|
||||
| | | | The number of bytes received
|
||||
| | | The number protocol messages received
|
||||
| | The number of bytes transmitted
|
||||
| The number of protocol messages transmitted
|
||||
The amount of queued data in bytes (if socket is hung)
|
||||
|
||||
The last row (with the local servername) contains the total
|
||||
cumulative counts for all connections since the server was started.
|
||||
|
||||
One can query the statistics of a remote server by adding the servers
|
||||
name to the command "/stat l servername". Of course, this only works,
|
||||
if all intermediate servers have upgraged. The first "old" server
|
||||
will stop the propagation and return the message counts by default.
|
||||
|
||||
2.4 Connecting servers
|
||||
|
||||
An oper can manually activate a connection phase to any server
|
||||
defined in ircd.conf C-lines (to successfully complete the connection,
|
||||
the N-line must be present too). The message achieving this is
|
||||
|
||||
CONNECT servername portnumber
|
||||
|
||||
where servername may be a mask string containing wildcards. This
|
||||
name is matched against entries in ircd.conf (notice: the testing
|
||||
is made in reverse order, e.g. the last C-line in ircd.conf is tested
|
||||
first). If portnumber is omitted, the ircd uses the one given in the
|
||||
found C-line. If the C-line does not have the portnumber, the compiled
|
||||
default will be used (PORTNUM from config.h).
|
||||
|
||||
This release allows also for remote connecting. An oper can send
|
||||
a connect request to remote server with
|
||||
|
||||
CONNECT servername portnumber remoteserver
|
||||
|
||||
This command is passed to the 'remoteserver' and it then tries to
|
||||
execute it like it was given locally. (If there are opers online on
|
||||
that server, they will get a notice about this happening.) Note, that
|
||||
one can remotely connect only what is defined in ircd.conf. Usually
|
||||
one needs and should use this only for immediate your neighbours. Nobody
|
||||
should randomly go and give connect requests to distant servers, unless
|
||||
one knows it's absolutely necessary and is very familiar about the
|
||||
linking setup there.
|
||||
|
||||
2.4 Terminating connections
|
||||
|
||||
The SQUIT command in PL1 was not intended to be used manually and
|
||||
was very dangerous to use (it also created so called "ghost servers").
|
||||
Since msa.4, the SQUIT has been safer to use manually.
|
||||
|
||||
|
||||
"SQUIT z" s a
|
||||
\ /
|
||||
\ /
|
||||
------- x ------- y --| |-- z ------- b
|
||||
/ ^ \
|
||||
/ | \
|
||||
p c
|
||||
|
||||
"SQUIT z" will break the link between "y" and "z" if injected
|
||||
into system from "s". After that the net will be in two fragmets,
|
||||
broken between "y" and "z". Server "z" never sees the actual
|
||||
SQUIT, all it observers is that the link to "y" suddenly closes
|
||||
(opers on z would see it as "Server y closed the connection"
|
||||
notice. Opers on y would see it as "Received remote SQUIT from
|
||||
x", note that the actual source "s" is not identified in the
|
||||
current version--for reasons too complicated to be explained
|
||||
here).
|
||||
|
||||
*WARNING* *WARNING* If the server "y" is still running pre-msa.4
|
||||
(like PL1), don't *EVER* issue a SQUIT for its links (unless the
|
||||
link is to a leaf node or verifiably a "ghost server").
|
||||
|
||||
Note, that when the link between "y" and "z" breaks, y will spit
|
||||
out SQUIT's for "z", "a", "b" and "c" to "x". At same time "z"
|
||||
is sending SQUIT's for "x", "s", "p", etc to "a", "b" and "c".
|
||||
SQUIT is normally generated by servers automaticly, it's just
|
||||
a later modification (msa.4) that allows an OPER to use this
|
||||
same message to "simulate" a link break at certain point.
|
||||
|
||||
*IMPORTANT* If server "z" has configuration "C:y::y:6667", it
|
||||
automaticly attempts to reconnect after a short delay (currently
|
||||
10 seconds), but only *if* the connection has been up long enough
|
||||
reliably (currently set to 10 minutes). If the thus formed link is
|
||||
squit another time, it will not attempt to come back immeatedly.
|
||||
This gives an oper time to reconfigure the links if that first
|
||||
short delay is not enough.
|
||||
|
||||
As in all commands, also SQUIT accepts wildcards, but be careful to
|
||||
give sufficient identification. SQUIT of wrong server is not nice...
|
||||
|
||||
2.5 KILL message
|
||||
|
||||
KILL will implicitly use the history database. If a KILL is
|
||||
issued for a nick that has been changed to another, the server
|
||||
will automaticly re-issue the kill with the new nickname, if
|
||||
the change has happened recently (current value should be 90
|
||||
seconds). If a "terrorist" is clearly distrupting channel by
|
||||
bombarding it with garbage from negative channels and changing
|
||||
nick all time, there is no need to consult the "WHOWAS" data
|
||||
base, just use the nickname that was used to send the garbage
|
||||
and ircd hunts the culprit down. When this change of target
|
||||
happens, the oper issuing the kill is notified.
|
||||
|
||||
NOTE: With automatic, kill-proof-reconnecting clients, the
|
||||
value of KILL is becoming insignificant...
|
||||
|
||||
2.6 Changing the server defaults from the command line
|
||||
|
||||
The servers activation command is now
|
||||
|
||||
ircd[ -f configfile][ -h servername][ -p portnumber][ -x debuglevel]
|
||||
|
||||
where parameters can be given in any order. If the "configfile"
|
||||
is defined, it will override the default specified in the file
|
||||
"config.h". If "servername" is defined, it will override the
|
||||
one defined in the M-line on the configuration line. "portnumber"
|
||||
will override the compiled default (from "config.h") or the
|
||||
one from the M-line of the configuration file. The "debuglevel"
|
||||
will determine the amout of logging the server does into a
|
||||
log file that has been define in "config.h". The "debuglevel"
|
||||
should never be defined for a server running normally, it can
|
||||
quickly generate megabytes of trace. Usually needed only when
|
||||
the server is incapable of starting properly at all, then one
|
||||
run with "-x9" usually is enough to reveal the problem.
|
||||
|
||||
3. General cleaning up and commenting the code
|
||||
|
||||
This issue is controversial. My way of fixing bugs is not just
|
||||
fix them, I also want to program defensively, make it difficult to
|
||||
make new errors. Thus I have heavily reformatted and reorganized
|
||||
those files that I have had to touch. Some functions have been
|
||||
renamed intentionally to catch all uses of those functions [because
|
||||
the functions semantics or calling sequences have been changed].
|
||||
|
||||
This release (2.4) will be the last IRC version I'm contributing
|
||||
to. If you have any wishes or complains about the code or functioining
|
||||
of IRC, use the source or ask whomever it happens to be the current
|
||||
developer.
|
||||
|
||||
HISTORY
|
||||
|
||||
There have been many different versions of IRC and many of those
|
||||
versions are still in use. The following attempt to bring some
|
||||
clarification to the versions. This starts from 2.01.6, hopefully
|
||||
no servers are running older versions...
|
||||
|
||||
...
|
||||
...
|
||||
2.01.6 A version from WiZ in summer 1989
|
||||
...
|
||||
2.01t6 A series of releases, which contained minor
|
||||
2.01T6 adjustements and bug fixes to the base version.
|
||||
2.01u6 Some of those fixes caused extra errors, of
|
||||
2.01U6 this series versions 2.01U6 and 2.01v6 are at
|
||||
2.01v6 least known to be rather stable.
|
||||
|
||||
2.1.0 Mike Bolotski created these versions from the sources
|
||||
2.1.1 of 2.01U6, but unfortunale some devious bug crept in
|
||||
and caused a lots of linking problems (the nasty "ghost
|
||||
server problem" splintered the net constantly). These
|
||||
versions must be deleted on sight :) [Autumn 1989]
|
||||
|
||||
2.2 This version is the 2.01v6 sources repackaged into
|
||||
multiple directories by Mike again. Probably nobody
|
||||
is running this base version, because is was promptly
|
||||
followed by two patch releases [Autumn 1989]
|
||||
|
||||
2.2PL0 These two are the last major "official" releases
|
||||
2.2PL1 and most of the servers upgraged to either of
|
||||
these.
|
||||
|
||||
2.2msa Unfortunately 2.2PL1 version had a tendency to die
|
||||
mysteriously very often. So, I started to look into the
|
||||
code from March 1990 and that resulted a series of
|
||||
patches to the 2.2PL1 server code, but finally
|
||||
decided to release full server code releases of which
|
||||
few have got wider distribution
|
||||
|
||||
2.2msa.4
|
||||
Has most of the known PL1 bugs fixed and seems
|
||||
to be very reliable. But once servers started
|
||||
staying up, a new problem appeared: socket
|
||||
buffers started getting full and servers tended
|
||||
to freeze very often for long intervals.
|
||||
|
||||
2.3alpha
|
||||
2.3 Is an attempt to make an official release from 2.2msa.4
|
||||
code, but hassles with changed copyrights make this
|
||||
version unacceptable. Besides, 2.3alpha or 2.2msa.4 are
|
||||
now obsolete, old versions :)
|
||||
|
||||
2.2msa.x
|
||||
To solve the freezing problems, the server code is changed
|
||||
to use non-blocking sockets.
|
||||
|
||||
2.2msa.7
|
||||
2.2msa.9
|
||||
Are intermediate test versions, of which .9 seems
|
||||
to have most of the problems solved.
|
||||
|
||||
2.2msa.10
|
||||
Never released. This is slightly improved version
|
||||
of msa.9, some new features.
|
||||
|
||||
2.4 Is a release which combines 2.2msa.10 and Chelsea's
|
||||
modifications to the server. Also, this release has
|
||||
once again reorganized the directories and makefiles.
|
||||
|
||||
|
||||
-- msa (Markku.Savela@vtt.fi)
|
||||
128
doc/history/2.7-New
Normal file
128
doc/history/2.7-New
Normal file
@@ -0,0 +1,128 @@
|
||||
* WHOREPLY and NAMREPLY become numberics instead of strings.
|
||||
|
||||
* msa's patches to kick/mode to attempt to follow nick name changes
|
||||
|
||||
* spike's patches to get SUMMON to find last idle tty
|
||||
|
||||
* melazy's various DNS improvements.
|
||||
|
||||
* pjg's saber C check
|
||||
|
||||
* prefix changed for all server->client messages in which the origin
|
||||
of the sender is a client to appear as follows:
|
||||
nick!user@host
|
||||
|
||||
* TRACE output changed.
|
||||
|
||||
* # channel topics broadcast
|
||||
|
||||
* +-numeric channels removed from server
|
||||
|
||||
* numerics for TRACE output 201-209
|
||||
|
||||
* new switches for STATS: i,k,q,y
|
||||
|
||||
* numerics for stats output 211-219
|
||||
|
||||
* MODE changed to also operate on users
|
||||
|
||||
* deoper added as both mode and direct command. deoper sends out
|
||||
":user OPER -" to other servers. (from Kaizzu)
|
||||
|
||||
* XTRA/VOICE/GRAPH removed.
|
||||
|
||||
* MODE +a scrapped.
|
||||
|
||||
* added custom ANSI-compatible ctype macros to ensure speed
|
||||
|
||||
* user modes i,w,s,o implemented as follows:
|
||||
i - invisible. over rides any channel mode for those external
|
||||
to your channel. you are invisible.
|
||||
|
||||
w - receive wallops
|
||||
|
||||
s - receive local service notices (errors, etc)
|
||||
|
||||
o - operator flag. (can not be set currently except using the
|
||||
OPER command).
|
||||
|
||||
* MODE +b added to ban a user from a channel using "nick!user@host" as
|
||||
the mask to match to the user. If the user matches the ban mask they
|
||||
are not allowed in. MODE +b with no parameters returns the list of
|
||||
ban masks currently in place. MODE +b <mask> and MODE -b <mask>
|
||||
add/delete a ban mask respectively.
|
||||
Thanks to HulkHogan (andy@lingua.cltr.uq.oz.au) for defining what
|
||||
we needed here and the 'BlackBall' approach.
|
||||
|
||||
* Operator passwords may now be stored in the ircd.conf file as the
|
||||
encrypted plaintext. Crypt(3) is used to generate the matching
|
||||
plaintext from the OPER command. Thanks to the following people
|
||||
for help with this:
|
||||
Sean Batt (sean@coombs.anu.edu.au),
|
||||
Andy. M. Jones (andy@lingua.cltr.uq.oz.au),
|
||||
Nelson Minar (minar@reed.edu).
|
||||
|
||||
* Server now creates "ircd.pid" file when booted. Holds the current
|
||||
pid of the server.
|
||||
|
||||
* Each O and I line in the ircd.conf file may be linked only a number
|
||||
of times equal to or the max. links value for the class they belong
|
||||
to.
|
||||
|
||||
* Server stores results of any successful DNS lookups for servers so
|
||||
that future lookups are not needed. A rehash will wipe all previous
|
||||
lookup results and cause the server to start over. The server will
|
||||
attempt to lookup each hostname in a C/N line on booting. This may
|
||||
cause a delay during starting the server.
|
||||
|
||||
* All functions should be of the form "function_name", macros of the
|
||||
form "MacroName" and constants as CONSTANT.
|
||||
|
||||
* Services are now treated with some respect. A service is associated
|
||||
with an S-line in the ircd.conf. A service must send a NICK/SERVICE
|
||||
pair on connecting to achieve service status.
|
||||
|
||||
* JOIN/PART now accept a list of channels in the first parameter with
|
||||
each separated by a ",". eg "JOIN #foo,#bar,#foobar"
|
||||
|
||||
* A hopcount for the distance to nicknames and servers has been
|
||||
introduced (for better or worse). It is passed as the second
|
||||
parameter to both NICK and SERVER.
|
||||
WHO and LINKS both report the hopcount in the info field.
|
||||
|
||||
* Default for WALL and WALLOPS set "off"
|
||||
|
||||
* rearranged config.h
|
||||
|
||||
* ISON now returns nicknames with the actual case, i.e.
|
||||
ISON wiz will answer WiZ
|
||||
|
||||
New into 2.7.1
|
||||
|
||||
* STATS u, r, z
|
||||
u - uptime
|
||||
r - CPU useage stats
|
||||
z - counts and shows current memory useage
|
||||
r & z are only available if DEBUGMODE is defined in config.h
|
||||
|
||||
* GETHOST which forces all reverse lookups of ip#'s to also match
|
||||
when doing a forward lookup of the hostname returned.
|
||||
|
||||
* SENDQ_ALWAYS buffering policy for sending data over links.
|
||||
(Server tries to buffer as much data as possible before attempting
|
||||
a write).
|
||||
|
||||
New into 2.7.2
|
||||
|
||||
* NOTE (once again appears and in much better state)
|
||||
|
||||
* WHOWAS gives a list of known users of the nick in question
|
||||
rather than just the most recent.
|
||||
|
||||
* Server can accept both server and client connections via a unix
|
||||
domain socket. This provides greater security and reliability for
|
||||
connections between the host and itself. (#define UNIXPORT)
|
||||
|
||||
* STATS C reports L-lines: New Numeric 241
|
||||
|
||||
* #define for showing all users the invisible count from LUSERS
|
||||
71
doc/history/README-2.6
Normal file
71
doc/history/README-2.6
Normal file
@@ -0,0 +1,71 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, README
|
||||
* Copyright (C) 1990
|
||||
*
|
||||
* For the list of authors and their e-mail addresses, see
|
||||
* file doc/AUTHORS
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
To install the new server, there is just a few changes to be made.
|
||||
|
||||
* General Comments
|
||||
|
||||
Tue Nov 13 12:43:46 1990 Armin Gruner <gruner@informatik.tu-muenchen.de>
|
||||
|
||||
(APOLLO: Be sure to have NEED_INET_NETOF, NEED_INET_ADDR and
|
||||
NEED_INET_NTOA undefined.)
|
||||
|
||||
Mon Nov 26 20:10:37 1990 Armin Gruner <gruner@informatik.tu-muenchen.de>
|
||||
|
||||
Comment: I just found that compiling on our SUN SPARC with GCC produces
|
||||
code that dumps core.. (that might not happen on your machine, try it,
|
||||
we may have out-of-date libraries). See netnews gnu.gcc.bug for a dis-
|
||||
cussion about the matter. It seems that gcc passes struct's in a
|
||||
different manner.
|
||||
|
||||
* Server configuration
|
||||
|
||||
Edit the include/config.h to your hearts content, avoiding going
|
||||
beyond the warning line, unless you are *absolute* sure you know
|
||||
what you are doing.
|
||||
If you happen to not take to this warning, you may end up with
|
||||
a server that will not function properly and annoy not only you,
|
||||
but users all around the world.
|
||||
|
||||
Old irc client can be found in this package and if you want to use it,
|
||||
check Makefile in directory irc before compiling. There are other,
|
||||
better irc clients in distribution and the client distributed with
|
||||
this version is simply something to begin with if you don't happen
|
||||
to have other clients available.
|
||||
|
||||
This version was brought to you by jto@tolsun.oulu.fi and send any
|
||||
bug fixes and suggestions to me.
|
||||
|
||||
NOTE: This server does *NOT* have MAIL system installed by default.
|
||||
The reason is that it doesn't work with many systems.
|
||||
|
||||
This version introduces you string channels, starting with
|
||||
a plus (+) sign. The first person joining a string channel
|
||||
claims it's ownership and after that is entitiled to use /mode
|
||||
command. Ownerships can be given and taken away with
|
||||
/mode <channel> +o <nickname> and /mode <channel> -o <nickname>
|
||||
Other flags are: s - secret, p - private, l - limited, i - inviteonly.
|
||||
m - moderated, n - no private messages to channel,
|
||||
t - topic settable by operator only
|
||||
New command /KICK <channel> <user> kicks a user off channel.
|
||||
|
||||
--Jarkko (jto@oulu.fi)
|
||||
51
doc/history/history.pre24
Normal file
51
doc/history/history.pre24
Normal file
@@ -0,0 +1,51 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, doc/HISTORY
|
||||
* Copyright (C) 1990
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
HISTORY of Recent IRC Versions.
|
||||
|
||||
Previous version numbering schemes have caused some confusion, which this
|
||||
document attempts to resolve.
|
||||
|
||||
The original test versions released by WiZ were numbered 2.01?6 where
|
||||
the ? refers to a letter. The last known stable version was U6.
|
||||
Version 2.1.0/1 was rewritten by Mike Bolotski from the U6 sources but
|
||||
several bugs were introduced during the rewrite. After several weeks,
|
||||
almost all servers backed up to U6. Version v6 contained comparatively
|
||||
minor modifications from U6.
|
||||
|
||||
Version 2.2 consists of the v6 source repackaged into multiple directories,
|
||||
and with modified documentation. From now on, the version number will
|
||||
stay relatively constant. As minor changes and bug fixes are added, they
|
||||
will be distributed in the form of context diffs, to be applied with the
|
||||
'patch' command. Each bugfix will bump the patchlevel (PL) of the release
|
||||
by 1. The PL is documented in the version.c file in the lib/misc directory.
|
||||
|
||||
Version 2.3 was unfortunate mistake containing copyright violations
|
||||
so it was soon taken off distribution.
|
||||
|
||||
Version 2.4 contains *very* many bug fixes, enhancements, and "hooks" for
|
||||
use in future releases. The source tree has been restructured, and the
|
||||
Makefiles rewritten to be recursive and follow the new source tree layout.
|
||||
|
||||
Version 2.5 contains string channels and channel modes (as well as
|
||||
channel operators). Also Wizible's MAIL system was included as an option.
|
||||
|
||||
Hopefully, whoever provides a fix will also update the respective
|
||||
ChangeLogs to summarize the changes, as well as adding a description of
|
||||
the bug to the BugList file.
|
||||
Reference in New Issue
Block a user