/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
*
* 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
* Client management.
*/
-#include "imp.h"
#include <assert.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
+#include <time.h>
#include <netdb.h>
-#include "defines.h"
#include "conn.h"
-
-#include "exp.h"
-#include "client.h"
-
-#include <imp.h>
#include "ngircd.h"
#include "channel.h"
#include "conf.h"
#include "match.h"
#include "messages.h"
-#include <exp.h>
-
#define GETID_LEN (CLIENT_NICK_LEN-1) + 1 + (CLIENT_USER_LEN-1) + 1 + (CLIENT_HOST_LEN-1) + 1
static CLIENT *This_Server, *My_Clients;
Client_Init( void )
{
struct hostent *h;
-
+
This_Server = New_Client_Struct( );
if( ! This_Server )
{
Client_SetInfo( This_Server, Conf_ServerInfo );
My_Clients = This_Server;
-
+
memset( &My_Whowas, 0, sizeof( My_Whowas ));
} /* Client_Init */
if( NGIRCd_SignalRestart ) Client_Destroy( This_Server, "Server going down (restarting).", NULL, false );
else Client_Destroy( This_Server, "Server going down.", NULL, false );
-
+
cnt = 0;
c = My_Clients;
while(c) {
Client_Destroy( CLIENT *Client, const char *LogMsg, const char *FwdMsg, bool SendQuit )
{
/* remove a client */
-
+
CLIENT *last, *c;
- char msg[LINE_LEN];
+ char msg[COMMAND_LEN];
const char *txt;
assert( Client != NULL );
assert(Client != NULL);
assert(Hostname != NULL);
- if (strlen(Conf_CloakHost)) {
+ if (Conf_CloakHost[0]) {
char cloak[GETID_LEN];
strlcpy(cloak, Hostname, GETID_LEN);
{
assert( Client != NULL );
assert( ID != NULL );
-
+
strlcpy( Client->id, ID, sizeof( Client->id ));
if (Conf_CloakUserToNick) {
assert(Client != NULL);
assert(User != NULL);
-#if defined(PAM) && defined(IDENTAUTH)
+#if defined(PAM)
strlcpy(Client->orig_user, User, sizeof(Client->orig_user));
#endif
} /* Client_SetOrigUser */
} /* Client_SetIntroducer */
-GLOBAL void
-Client_SetOperByMe( CLIENT *Client, bool OperByMe )
-{
- assert( Client != NULL );
- Client->oper_by_me = OperByMe;
-} /* Client_SetOperByMe */
-
-
GLOBAL bool
Client_ModeAdd( CLIENT *Client, char Mode )
{
if(Client->type == CLIENT_USER)
assert(strlen(Client->id) < Conf_MaxNickLength);
#endif
-
+
if( Client->id[0] ) return Client->id;
else return "*";
} /* Client_ID */
*/
GLOBAL char *
Client_OrigUser(CLIENT *Client) {
-#ifndef IDENTAUTH
- char *user = Client->user;
-
- if (user[0] == '~')
- user++;
- return user;
-#else
return Client->orig_user;
-#endif
} /* Client_OrigUser */
#endif
} /* Client_Flags */
-GLOBAL bool
-Client_OperByMe( CLIENT *Client )
-{
- assert( Client != NULL );
- return Client->oper_by_me;
-} /* Client_OperByMe */
-
-
GLOBAL int
Client_Hops( CLIENT *Client )
{
c->type = CLIENT_UNKNOWN;
c->conn_id = NONE;
- c->oper_by_me = false;
c->hops = -1;
c->token = -1;
c->mytoken = -1;