exit( 1 );
}
- /* Client-Struktur dieses Servers */
+ /* Client structure for this server */
This_Server->next = NULL;
This_Server->type = CLIENT_SERVER;
This_Server->conn_id = NONE;
Client_ModeAdd( CLIENT *Client, char Mode )
{
/* Set Mode.
- * If Client already alread had Mode, return false.
+ * If Client already had Mode, return false.
* If the Mode was newly set, return true.
*/
/**
- * Serach first CLIENT structure matching a given mask of a server.
+ * Search first CLIENT structure matching a given mask of a server.
*
* The order of servers is arbitrary, but this function makes sure that the
* local server is always returned if the mask matches it.
static CLIENT *
New_Client_Struct( void )
{
- /* Neue CLIENT-Struktur pre-initialisieren */
-
CLIENT *c;
c = (CLIENT *)malloc( sizeof( CLIENT ));
{
if( c->mytoken == token )
{
- /* Das Token wurde bereits vergeben */
+ /* The token is already in use */
token++;
c = My_Clients;
continue;
* This function waits for a keypress of the user when stdin/stdout are valid
* tty's ("you can read our nice message and we can read in your keypress").
*
- * @return 0 on succes, 1 on failure(s); therefore the result code can
+ * @return 0 on success, 1 on failure(s); therefore the result code can
* directly be used by exit() when running "ngircd --configtest".
*/
GLOBAL int
#endif
/**
- * Initialize server configuration structur to default values.
+ * Initialize server configuration structure to default values.
*
* @param Server Pointer to server structure to initialize.
*/
out_left = sizeof(Encoding_Buffer) - 1;
if (iconv(Handle, &Message, &in_left, &out, &out_left) == (size_t)(-1)) {
- /* An error occured! */
+ /* An error occurred! */
LogDebug("Error converting message encoding!");
strlcpy(Encoding_Buffer, Message, sizeof(Encoding_Buffer));
iconv(Handle, NULL, NULL, NULL, NULL);
GLOBAL void
Conn_SetFlag( CONN_ID Idx, int Flag )
{
- /* Connection markieren */
-
assert( Idx > NONE );
My_Connections[Idx].flag = Flag;
} /* Conn_SetFlag */
GLOBAL CONN_ID
Conn_First( void )
{
- /* Connection-Struktur der ersten Verbindung liefern;
- * Ist keine Verbindung vorhanden, wird NONE geliefert. */
-
CONN_ID i;
for( i = 0; i < Pool_Size; i++ )
GLOBAL CONN_ID
Conn_Next( CONN_ID Idx )
{
- /* Naechste Verbindungs-Struktur liefern; existiert keine
- * weitere, so wird NONE geliefert. */
-
CONN_ID i = NONE;
assert( Idx > NONE );
* Get number of sockets available from systemd(8).
*
* ngIRCd needs to implement its own sd_listen_fds(3) function and can't
- * use the one provided by systemd itself, becaus the sockets will be
+ * use the one provided by systemd itself, because the sockets will be
* used in a forked child process with a new PID, and this would trigger
* an error in the standard implementation.
*
/**
- * Initialize connecion module.
+ * Initialize connection module.
*/
GLOBAL void
Conn_Init( void )
{
CONN_ID i;
- /* Speicher fuer Verbindungs-Pool anfordern */
Pool_Size = CONNECTION_POOL;
if ((Conf_MaxConnections > 0) &&
(Pool_Size > Conf_MaxConnections))
* which is the granularity with witch we handle "penalty
* times" for example.
* Note: tv_sec/usec are undefined(!) after io_dispatch()
- * returns, so we have to set it beforce each call to it! */
+ * returns, so we have to set it before each call to it! */
tv.tv_usec = 0;
tv.tv_sec = 1;
*
* So we have a big problem here: we should send more bytes
* to the network than we are allowed to and we don't know
- * the originator (any more). The "old" behaviour of blaming
+ * the originator (any more). The "old" behavior of blaming
* the receiver ("next hop") is a bad idea (it could be just
* an other server only routing the message!), so the only
* option left is to shorten the string and to hope that the
/**
- * Read data from the network to the read buffer. If an error occures,
+ * Read data from the network to the read buffer. If an error occurs,
* the socket of this connection will be shut down.
*
* @param Idx Connection index.
maxcmd = (int)(Client_UserCount() / 5)
+ MAX_COMMANDS_SERVER_MIN;
/* Allow servers to handle even more commands while peering
- * to speed up server login and network synchronisation. */
+ * to speed up server login and network synchronization. */
if (Conn_LastPing(Idx) == 0)
maxcmd *= 5;
break;
/**
* Read results of a resolver sub-process from the pipe and update the
- * apropriate connection/client structure(s): hostname and/or IDENT user name.
+ * appropriate connection/client structure(s): hostname and/or IDENT user name.
*
* @param r_fd File descriptor of the pipe to the sub-process.
* @param events (ignored IO specification)
#ifdef SSL_SUPPORT
/**
- * Get information about used SSL chiper.
+ * Get information about used SSL cipher.
*
* @param Idx Connection index number.
* @param buf Buffer for returned information text.
/**
* Forward JOIN command to a specific server
*
- * This function diffentiates between servers using RFC 2813 mode that
+ * This function differentiates between servers using RFC 2813 mode that
* support the JOIN command with appended ASCII 7 character and channel
* modes, and servers using RFC 1459 protocol which require separate JOIN
* and MODE commands.
} /* join_forward */
/**
- * Aknowledge user JOIN request and send "channel info" numerics.
+ * Acknowledge user JOIN request and send "channel info" numerics.
*
* @param Client Client used to prefix the genrated commands
* @param target Forward commands/numerics to this user
Client_ID(from), Req->argv[0]);
/* Only remote servers and channel members are allowed to change the
- * channel topic, and IRC opreators when the Conf_OperCanMode option
+ * channel topic, and IRC operators when the Conf_OperCanMode option
* is set in the server configuration. */
if (Client_Type(Client) != CLIENT_SERVER) {
topic_power = Client_HasMode(from, 'o');
}
}
- /* Forward CHANINFO to other serevrs */
+ /* Forward CHANINFO to other servers */
if (Req->argc == 5)
IRC_WriteStrServersPrefixFlag(Client, from, 'C',
"CHANINFO %s %s %s %s :%s",
assert(Client != NULL);
- /* Users, services and serevers in the network */
+ /* Users, services and servers in the network */
if (!IRC_WriteStrClient(Client, RPL_LUSERCLIENT_MSG, Client_ID(Client),
Client_UserCount(), Client_ServiceCount(),
Client_ServerCount()))
/* Validate service name ("nickname") */
c = Client_Search(nick);
if(c) {
- /* Nickname collission: disconnect (KILL) both clients! */
+ /* Nickname collision: disconnect (KILL) both clients! */
Log(LOG_ERR, "Server %s introduces already registered service \"%s\"!",
Client_ID(Client), nick);
Kill_Nick(nick, "Nick collision");
* Handler for the IRC "MODE" command.
*
* This function detects whether user or channel modes should be modified
- * and calls the apropriate sub-functions.
+ * and calls the appropriate sub-functions.
*
* @param Client The client from which this command has been received.
* @param Req Request structure with prefix and all parameters.
}
if (send_RPL_HOSTHIDDEN_MSG && Client_Conn(Target) > NONE) {
- /* A new (cloaked) hostname must be annoucned */
+ /* A new (cloaked) hostname must be announced */
IRC_WriteStrClientPrefix(Target, Origin,
RPL_HOSTHIDDEN_MSG,
Client_ID(Target),
}
/**
- * Delete entries from channel invite, ban and exeption lists.
+ * Delete entries from channel invite, ban and exception lists.
*
* @param what Can be 'I' for invite, 'b' for ban, and 'e' for exception list.
* @param Prefix The originator of the command.
if (strcasecmp(Req->argv[0], Conf_Server[i].name) == 0)
break;
- /* Makre sure the remote server is configured here */
+ /* Make sure the remote server is configured here */
if (i >= MAX_SERVERS) {
Log(LOG_ERR,
"Connection %d: Server \"%s\" not configured here!",
/**
* send message to all clients that are in the same channels as the client sending this message.
- * only send message once per reote server.
+ * only send message once per remote server.
*/
#ifdef PROTOTYPES
GLOBAL bool
/**
* Handler for the IRC "KILL" command.
*
- * This function implements the IRC command "KILL" wich is used to selectively
+ * This function implements the IRC command "KILL" which is used to selectively
* disconnect clients. It can be used by IRC operators and servers, for example
* to "solve" nick collisions after netsplits. See RFC 2812 section 3.7.1.
*
* suitable for the mode ngIRCd is running in (daemon vs. non-daemon).
* If LOG_snotice is set, the log messages goes to all user with the mode +s
* set and the local &SERVER channel, too.
- * Please note: you sould use LogDebug(...) for debug messages!
+ * Please note: you should use LogDebug(...) for debug messages!
* @param Level syslog level (LOG_xxx)
* @param Format Format string like printf().
* @param ... Further arguments.
#ifdef PAM
if (!Conf_PAM) {
/* Don't do any PAM authentication at all, instead emulate
- * the beahiour of the daemon compiled without PAM support:
+ * the behavior of the daemon compiled without PAM support:
* because there can't be any "server password", all
* passwords supplied are classified as "wrong". */
if(Conn_Password(conn)[0] == '\0')
#ifdef PAM
/**
- * Read result of the authenticatior sub-process from pipe
+ * Read result of the authenticator sub-process from pipe
*
* @param r_fd File descriptor of the pipe.
* @param events (ignored IO specification)
GLOBAL bool
Match( const char *Pattern, const char *String )
{
- /* Pattern mit String vergleichen */
if( Matche( Pattern, String ) == MATCH_VALID ) return true;
else return false;
} /* Match */
/**
- * Redirect stdin, stdout and stderr to apropriate file handles.
+ * Redirect stdin, stdout and stderr to appropriate file handles.
*
* @param fd The file handle stdin, stdout and stderr should be redirected to.
*/
/**
* @file
- * PAM User Authentification
+ * PAM User Authentication
*/
#include "imp.h"
/**
* @file
- * PAM User Authentification (header)
+ * PAM User Authentication (header)
*/
GLOBAL bool PAM_Authenticate PARAMS((CLIENT *Client));
{ "GET", IRC_QUIT_HTTP, CLIENT_UNKNOWN, 0, 0, 0 },
{ "POST", IRC_QUIT_HTTP, CLIENT_UNKNOWN, 0, 0, 0 },
#endif
- { NULL, NULL, 0x0, 0, 0, 0 } /* Ende-Marke */
+ { NULL, NULL, 0x0, 0, 0, 0 } /* End-Mark */
};
static void Init_Request PARAMS(( REQUEST *Req ));
* Parse a command ("request") received from a client.
*
* This function is called after the connection layer received a valid CR+LF
- * terminated line of text: we asume that this is a valid IRC command and
+ * terminated line of text: we assume that this is a valid IRC command and
* try to do something useful with it :-)
*
* All errors are reported to the client from which the command has been
* @param Idx Index of the connection from which the command has been received.
* @param Request NULL terminated line of text (the "command").
* @return true on success (valid command or "regular" error), false if a
- * fatal error occured and the connection has been shut down.
+ * fatal error occurred and the connection has been shut down.
*/
GLOBAL bool
Parse_Request( CONN_ID Idx, char *Request )
static void
Init_Request( REQUEST *Req )
{
- /* Neue Request-Struktur initialisieren */
-
int i;
assert( Req != NULL );
*Closed = false;
return true;
-} /* Validate_Comman */
+} /* Validate_Command */
static bool
/**
* Initialize the signal handlers, catch
* those signals we are interested in and sets SIGPIPE to be ignored.
- * @return true if initialization was sucessful.
+ * @return true if initialization was successful.
*/
bool
Signals_Init(void)
} /* Signals_Init */
/**
- * Restores signals to their default behaviour.
+ * Restores signals to their default behavior.
*
* This should be called after a fork() in the new
* child prodcess, especially when we are about to call