]> Cypherpunks.ru repositories - goircd.git/blobdiff - client.go
HasPrefix is not necessary before TrimPrefix
[goircd.git] / client.go
index afd6312714837e70b8c89550575054ac5efd7341..95dd93f60d9e7958d5eeec9229284cb96ab403cb 100644 (file)
--- a/client.go
+++ b/client.go
@@ -1,6 +1,6 @@
 /*
 goircd -- minimalistic simple Internet Relay Chat (IRC) server
-Copyright (C) 2014 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2015 Sergey Matveev <stargrave@stargrave.org>
 
 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 <http://www.gnu.org/licenses/>.
 */
+
 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