X-Git-Url: http://www.git.cypherpunks.ru/?p=goircd.git;a=blobdiff_plain;f=client.go;h=95dd93f60d9e7958d5eeec9229284cb96ab403cb;hp=afd6312714837e70b8c89550575054ac5efd7341;hb=3016635f6a6bd23e34461e93cef3e8d861ce4275;hpb=cfeaaad88f71bf1b0846251b7f448bf41bde26d9 diff --git a/client.go b/client.go index afd6312..95dd93f 100644 --- a/client.go +++ b/client.go @@ -1,6 +1,6 @@ /* goircd -- minimalistic simple Internet Relay Chat (IRC) server -Copyright (C) 2014 Sergey Matveev +Copyright (C) 2014-2015 Sergey Matveev 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 @@ -15,6 +15,7 @@ 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, see . */ + package main import ( @@ -31,12 +32,14 @@ const ( ) type Client struct { - hostname string + hostname *string conn net.Conn registered bool nickname string username string realname string + password string + away *string } type ClientAlivenessState struct { @@ -48,8 +51,8 @@ func (client Client) String() string { return client.nickname + "!" + client.username + "@" + client.conn.RemoteAddr().String() } -func NewClient(hostname string, conn net.Conn) *Client { - return &Client{hostname: hostname, conn: conn, nickname: "*"} +func NewClient(hostname *string, conn net.Conn) *Client { + return &Client{hostname: hostname, conn: conn, nickname: "*", password: ""} } // Client processor blockingly reads everything remote client sends, @@ -64,7 +67,6 @@ func (client *Client) Processor(sink chan<- ClientEvent) { bufNet = make([]byte, BufSize) _, err := client.conn.Read(bufNet) if err != nil { - log.Println(client, "connection lost", err) sink <- ClientEvent{client, EventDel, ""} break } @@ -89,7 +91,7 @@ func (client *Client) Msg(text string) { // Send message from server. It has ": servername" prefix. func (client *Client) Reply(text string) { - client.Msg(":" + client.hostname + " " + text) + client.Msg(":" + *client.hostname + " " + text) } // Send server message, concatenating all provided text parts and