diff options
Diffstat (limited to '')
4 files changed, 1073 insertions, 0 deletions
diff --git a/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp new file mode 100644 index 00000000..2130257b --- /dev/null +++ b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp @@ -0,0 +1,164 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : cvs</TITLE> + <META name="keywords" content="freesoftware,nel,newt,snowballs,richard stallman,GNU,Multi-User Online World"> + + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-free.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Free Software">Free software</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/cvs/"><img src="http://www.nevrax.org/inc/img/t_cvs.gif" ALT="cvs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + +<!-- title --> +<table width=100%><tr><td align=left><b> <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/">login_service</a> / connection_client.cpp</b></td><td align=right><b></b></td></TR></TABLE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>connection_client.cpp</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<p>Default branch: MAIN<BR> +<HR size=1 NOSHADE><P><a NAME="rev1.4"></a><a NAME="HEAD"></a><a NAME="MAIN"></a> + Revision <A HREF="connection_client.cpp?rev=1.4&content-type=text/x-cvsweb-markup"><b>1.4</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.4">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.4">[select for diffs]</A> +, <i>Mon Jul 2 14:27:43 2001 UTC</i> (2 weeks, 6 days ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>CVS Tags: <b><A HREF="connection_client.cpp?only_with_tag=HEAD">HEAD</A> +</b><BR>Changes since <b>1.3: +7 -4 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.3&r2=1.4">1.3</A> +<PRE> +BUGFIX: linux doesn't receive the message just before the disconnection +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.3"></a> + Revision <A HREF="connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup"><b>1.3</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.3">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.3">[select for diffs]</A> +, <i>Fri May 18 16:51:01 2001 UTC</i> (2 months ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.2: +6 -6 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.2&r2=1.3">1.2</A> +<PRE> +MODIFIED: work with new service +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.2"></a> + Revision <A HREF="connection_client.cpp?rev=1.2&content-type=text/x-cvsweb-markup"><b>1.2</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.2">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.2">[select for diffs]</A> +, <i>Thu May 3 13:19:13 2001 UTC</i> (2 months, 2 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.1: +8 -2 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.1&r2=1.2">1.1</A> +<PRE> +BUGFIX: now compile on linux +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.1"></a> + Revision <A HREF="connection_client.cpp?rev=1.1&content-type=text/x-cvsweb-markup"><b>1.1</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.1">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.1">[select for diffs]</A> +, <i>Wed May 2 12:36:39 2001 UTC</i> (2 months, 2 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Diff<PRE> +ADD: new version of the network system (in NeL and NeLns) +</PRE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Request Diffs</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff" NAME="diff_select"> +Diffs between +<SELECT NAME="r1"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.4:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr1" VALUE="1.1" onChange='document.diff_select.r1.selectedIndex=0'> + and +<SELECT NAME="r2"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.4:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr2" VALUE="1.4" onChange='docuement.diff_select.r2.selectedIndex=0'> +<BR>Type of Diff should be a <SELECT NAME="f"> +<OPTION VALUE=h SELECTED>Colored Diff<OPTION VALUE=H>Long Colored Diff<OPTION VALUE=u>Unidiff<OPTION VALUE=c>Context Diff<OPTION VALUE=s>Side by Side</SELECT><INPUT TYPE=SUBMIT VALUE=" Get Diffs "> +</FORM> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Select branch</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<A name=branch></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +View only Branch: +<SELECT NAME="only_with_tag" onchange="submit()"> +<OPTION VALUE="">Show all branches +<OPTION>MAIN +</SELECT> +<INPUT TYPE=SUBMIT VALUE=" View Branch "> +</FORM> +<A name=logsort></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +Sort log by: +<SELECT NAME="logsort" onchange="submit()"> +<OPTION VALUE=cvs>Not sorted<OPTION VALUE=date SELECTED>Commit date<OPTION VALUE=rev>Revision</SELECT> +<INPUT TYPE=SUBMIT VALUE=" Sort "> +</FORM> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML></BODY></HTML> diff --git a/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.11&content-type=text/x-cvsweb-markup&sortby=author/index.html b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.11&content-type=text/x-cvsweb-markup&sortby=author/index.html new file mode 100644 index 00000000..19d52d3b --- /dev/null +++ b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.11&content-type=text/x-cvsweb-markup&sortby=author/index.html @@ -0,0 +1,508 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> +<HEAD><style> A { color:black }</style> +<!-- hennerik CVSweb $Revision: 1.93 $ --> +<TITLE>code/nelns/login_service/connection_client.cpp - view - 1.11</TITLE></HEAD> +<BODY BGCOLOR="#eeeeee"> +<table width="100%" border=0 cellspacing=0 cellpadding=1 bgcolor="#aaaaaa"><tr valign=bottom><td><a href="connection_client.cpp?sortby=author"><IMG SRC="http://www.nevrax.org/inc/img/picto-up.gif" ALT="[BACK]" BORDER="0" WIDTH="14" HEIGHT="13"></a> <b>Return to <A HREF="connection_client.cpp?sortby=author">connection_client.cpp</A> + CVS log</b> <IMG SRC="http://www.nevrax.org/inc/img/picto-news.gif" ALT="[TXT]" BORDER="0" WIDTH="13" HEIGHT="15"></td><td align=right><IMG SRC="http://www.nevrax.org/inc/img/picto-dir.gif" ALT="[DIR]" BORDER="0" WIDTH="15" HEIGHT="13"> <b>Up to <a href="/cvs/cvsweb.cgi/?sortby=author">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/?sortby=author">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/?sortby=author">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/?sortby=author">login_service</a></b></td></tr></table><HR noshade><table width="100%"><tr><td bgcolor="#ffffff">File: <a href="/cvs/cvsweb.cgi/?sortby=author">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/?sortby=author">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/?sortby=author">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/?sortby=author">login_service</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?sortby=author">connection_client.cpp</a> (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.11&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.11','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>)<BR> +Revision <B>1.11</B>, <i>Mon Mar 25 09:29:24 2002 UTC</i> (4 months ago) by <i>lecroart</i> +<BR>Branch: <b>MAIN</b> +<BR>CVS Tags: <b>HEAD</b><BR>Changes since <b>1.10: +3 -3 + lines</b><PRE> +CHANGED: use new service functions +</PRE> +</td></tr></table><HR noshade><PRE>/** \file login_service.cpp + * Login Service (LS) + * + * $Id: connection_client.cpp,v 1.11 2002/03/25 09:29:24 lecroart Exp $ + * + */ + +/* Copyright, 2000 Nevrax Ltd. + * + * This file is part of NEVRAX NeL Network Services. + * NEVRAX NeL Network Services 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 2, or (at your option) + * any later version. + * + * NEVRAX NeL Network Services 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 NEVRAX NeL Network Services; see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + +#include "nel/misc/types_nl.h" + +#include <stdio.h> +#include <ctype.h> +#include <math.h> + +#include <vector> +#include <map> + +#include "nel/misc/debug.h" +#include "nel/misc/config_file.h" +#include "nel/misc/displayer.h" +#include "nel/misc/log.h" + +#include "nel/net/service.h" +#include "nel/net/net_manager.h" +#include "nel/net/login_cookie.h" +#include "login_service.h" + +#define CRYPT_PASSWORD 1 + +#if defined(NL_OS_UNIX) && CRYPT_PASSWORD +extern "C" char *crypt (const char *__key, const char *__salt); +#endif + +using namespace std; +using namespace NLMISC; +using namespace NLNET; + + +// These functions enable crypting password, work only on unix + +const uint32 EncryptedSize = 13; + +// Get a number between 0 and 64, used by cryptPassword +static uint32 rand64 () +{ + return (uint32) floor(64.0*(double)rand()/((double)RAND_MAX+1.0)); +} + +// Crypt a password +string cryptPassword (const string &password) +{ +#if defined(NL_OS_UNIX) && CRYPT_PASSWORD + if (CryptPassword) + { + char Salt[3]; + static char SaltString[65] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./"; + + Salt[0] = SaltString[rand64()]; + Salt[1] = SaltString[rand64()]; + Salt[2] = '\0'; + + return string (crypt (password.c_str(), Salt)); + } + else + return password; +#else + return password; +#endif +} + +// Check if a password is valid +bool checkPassword (const string &password, const string &encrypted) +{ +#if defined(NL_OS_UNIX) && CRYPT_PASSWORD + if (CryptPassword) + { + char Salt[3]; + + if (encrypted.size() != EncryptedSize) + { + nlwarning ("checkPassword(): \"%s\" is not a valid encrypted password", encrypted.c_str()); + return false; + } + + Salt[0] = encrypted[0]; + Salt[1] = encrypted[1]; + Salt[2] = '\0'; + + return encrypted == crypt (password.c_str(), Salt); + } + else + { + return encrypted == password; + } +#else + return encrypted == password; +#endif +} + +sint findUser (string &login) +{ + for (sint i = 0; i < (sint) Users.size (); i++) + { + if (Users[i].Login == login) + { + return i; + } + } + // user not found + return -1; +} + +void addUser (string &login, string &password) +{ + if (findUser (login) == -1) + { + Users.push_back (CUser (login, cryptPassword(password))); + writePlayerDatabase (); + } + else + { + nlwarning ("user '%s' already exists in the base", login.c_str ()); + } +} + +sint userToLog(sint userPos) +{ + if (userPos == -1) return userPos; + else return Users[userPos].Id; +} + + +bool stringIsStandard(const string &str) +{ + for (sint i = 0; i < (sint) str.size(); i++) + { + if (!isalnum (str[i])) return false; + } + return true; +} + +bool havePrivilege (string userPriv, string shardPriv) +{ + if (userPriv == "::") + { + return shardPriv == "::"; + } + else + { + if (shardPriv == "::") + return true; + else + return userPriv.find (shardPriv) != string::npos; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////// +/////////////// CONNECTION TO THE CLIENTS ////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Callback for service unregistration. + * + * Message expected : + * - nothing + */ +static void cbClientVerifyLoginPassword (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) +{ + // reason is empty if everything goes right or contains the reason of the failure + string reason = ""; + + // + // S03: check the validity of the client login/password and send "VLP" message to client + // + + string Login, Password; + msgin.serial (Login); + msgin.serial (Password); + + sint userPos = findUser (Login); + const CInetAddress &ia = netbase.hostAddress (from); + + Output.displayNL ("***: %3d Login '%s' Ip '%s'", userToLog(userPos), Login.c_str(), ia.asString().c_str()); + + // recv the client version and check it + + uint32 ClientVersion; + msgin.serial (ClientVersion); + if (ClientVersion < ServerVersion || ClientVersion > ServerVersion) + { + // reject the use, bad version + if (ClientVersion < ServerVersion) + reason = "Your client is out of date. You have to download the last version."; + else + reason = "Your client is too new compare to the server. You have to get an older version of the client."; + Output.displayNL ("---: %3d Bad Version, ClientVersion: %d ServerVersion: %d", userToLog(userPos), ClientVersion, ServerVersion); + } + + // recv client hardware info + + string OS, Proc, Mem, Gfx; + + msgin.serial (OS); + msgin.serial (Proc); + msgin.serial (Mem); + msgin.serial (Gfx); + + if (!OS.empty()) Output.displayNL ("OS : %3d %s", userToLog(userPos), OS.c_str()); + if (!Proc.empty()) Output.displayNL ("PRC: %3d %s", userToLog(userPos), Proc.c_str()); + if (!Mem.empty()) Output.displayNL ("MEM: %3d %s", userToLog(userPos), Mem.c_str()); + if (!Gfx.empty()) Output.displayNL ("GFX: %3d %s", userToLog(userPos), Gfx.c_str()); + + // check the login & pass + + if (reason.empty() && !stringIsStandard (Login)) + { + // reject the new user, bad login format + reason = "Bad login format, only alphanumeric character"; + Output.displayNL ("---: %3d Bad Login Format", userToLog(userPos)); + } + + if (reason.empty() && !stringIsStandard (Password)) + { + // reject the new user, bad password format + reason = "Bad password format, only alphanumeric character"; + Output.displayNL ("---: %3d Bad Password Format", userToLog(userPos)); + } + + if (reason.empty()) + { + if (userPos == -1) + { + // unknown user + if (AcceptNewUser) + { + // add the new user + addUser (Login, Password); + // take the new user entry + userPos = findUser (Login); + Output.displayNL ("---: %3d New User (new id:%d)", -1, userToLog(userPos)); + } + else + { + // reject the new user + reason = "Bad login"; + Output.displayNL ("---: %3d Bad Login", userToLog(userPos)); + } + } + else + { + // check id the account is active + + if (!Users[userPos].Active) + { + reason = "Your account was disactivated"; + Output.displayNL ("---: %3d Your account was disactivated", userToLog(userPos)); + } + else if (!checkPassword (Password, Users[userPos].Password)) + { + // error reason + reason = "Bad password"; + Output.displayNL ("---: %3d Bad Password", userToLog(userPos)); + } + else + { + Output.displayNL ("---: %3d Ok", userToLog(userPos)); + } + } + } + + if (reason.empty()) + { + reason = Users[userPos].Authorize (from, netbase); + } + + uint32 nbshard = 0; + if (reason.empty()) + { + // count online shards + for (uint i = 0; i < Shards.size (); i++) + { + // add it only if the shard is on line and the user can go to this shard + if (Shards[i].Online && havePrivilege(Users[userPos].ShardPrivilege, Shards[i].ShardName)) + { + nbshard++; + } + } + if (nbshard==0) + { + reason = "No shards available"; + } + + } + + CMessage msgout (netbase.getSIDA (), "VLP"); + + if (reason.empty()) + { + uint8 ok = 1; + msgout.serial (ok); + + // send number of online shard + msgout.serial (nbshard); + + // send address and name of all online shards + for (uint i = 0; i < Shards.size (); i++) + { + if (Shards[i].Online && havePrivilege (Users[userPos].ShardPrivilege, Shards[i].ShardName)) + { + // serial the name of the shard + string shardname; + shardname = Shards[i].Name; + + if (Shards[i].NbPlayers == 0) + { + shardname += " (no users)"; + } + else + { + char num[1024]; + smprintf(num, 1024, "%d", Shards[i].NbPlayers); + shardname += " ("; + shardname += num; + if (Shards[i].NbPlayers == 1) + shardname += " user)"; + else + shardname += " users)"; + } + msgout.serial (shardname); + + // serial the address of the WS service + msgout.serial (Shards[i].WSAddr); + } + } + netbase.send (msgout, from); + + netbase.authorizeOnly ("CS", from); + } + else + { + // put the error message + uint8 ok = 0; + msgout.serial (ok); + msgout.serial (reason); + netbase.send (msgout, from); +// FIX: On linux, when we disconnect now, sometime the other side doesnt receive the message sent just before. +// So it's the other side to disconnect +// netbase.disconnect (from); + } +} + +static void cbClientChooseShard (CMessage &msgin, TSockId from, CCallbackNetBase &netbase) +{ + // + // S06: receive "CS" message from client + // + + // first find if the user is authorized + for (vector<CUser>::iterator it = Users.begin (); it != Users.end (); it++) + { + if ((*it).Authorized && (*it).SockId == from) + { + // it's ok, so we found the wanted shard + string WSAddr; + msgin.serial (WSAddr); + + for (sint32 i = 0; i < (sint32) Shards.size (); i++) + { + if (Shards[i].Online && Shards[i].WSAddr == WSAddr && havePrivilege ((*it).ShardPrivilege, Shards[i].ShardName)) + { + CMessage msgout (CNetManager::getNetBase("WSLS")->getSIDA (), "CS"); + const CInetAddress &ia = netbase.hostAddress ((*it).SockId); + msgout.serial ((*it).Cookie); + CNetManager::send("WSLS", msgout, Shards[i].SockId); + beep (1000, 1, 100, 100); + return; + } + } + // the shard is not available, denied the user + nlwarning("User try to choose a shard without authorization"); + + CMessage msgout (netbase.getSIDA (), "SCS"); + uint8 ok = false; + string reason = "Selected shard is not available"; + msgout.serial (ok); + msgout.serial (reason); + netbase.send (msgout, from); +// FIX: On linux, when we disconnect now, sometime the other side doesnt receive the message sent just before. +// So it's the other side to disconnect +// netbase.disconnect (from); + return; + } + } + + // the user isn t authorized + nlwarning("User try to choose a shard without authorization"); + // disconnect him + netbase.disconnect (from); +} + +static void cbClientConnection (const string &serviceName, TSockId from, void *arg) +{ + CCallbackNetBase *cnb = CNetManager::getNetBase("LS"); + const CInetAddress &ia = cnb->hostAddress (from); + + nldebug("new client connection: %s", ia.asString ().c_str ()); + + Output.displayNL ("CCC: Connection from %s", ia.asString ().c_str ()); + + if (ia.asString().find ("nevrax") != string::npos) + { + // internal connection + beep (); + } + else + { + // external connection + beep (1000, 2, 100, 100); + } + + cnb->authorizeOnly ("VLP", from); +} + +static void cbClientDisconnection (const string &serviceName, TSockId from, void *arg) +{ + CCallbackNetBase *cnb = CNetManager::getNetBase("LS"); + const CInetAddress &ia = cnb->hostAddress (from); + + nldebug("new client disconnection: %s", ia.asString ().c_str ()); + + // remove the user if necessary + for (vector<CUser>::iterator it = Users.begin (); it != Users.end (); it++) + { + if ((*it).SockId == from) + { + if ((*it).State == CUser::Awaiting) + { + // the user is disconnected from me because he have to connect to the front end right now, so we wait... + } + else + { + // prematurated disconnection, clean everything + disconnectClient (*it, false, false); + } + (*it).SockId = NULL; + return; + } + } +} + + +const TCallbackItem ClientCallbackArray[] = +{ + { "VLP", cbClientVerifyLoginPassword }, + { "CS", cbClientChooseShard }, +}; + +// if you add callback in the client side, don't forget to add it here!!! +static const char *OtherSideAssociations[] = +{ + "AA", + "RA", + "RAA", + "VLP", + "SCS", +}; + +void connectionClientInit () +{ + CNetManager::addCallbackArray ("LS", ClientCallbackArray, sizeof(ClientCallbackArray)/sizeof(ClientCallbackArray[0])); + CNetManager::setConnectionCallback ("LS", cbClientConnection, NULL); + CNetManager::setDisconnectionCallback ("LS", cbClientDisconnection, NULL); + CNetManager::getNetBase("LS")->setOtherSideAssociations(OtherSideAssociations, sizeof(OtherSideAssociations)/sizeof(OtherSideAssociations[0])); +} +</PRE>
\ No newline at end of file diff --git a/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup/index.html b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup/index.html new file mode 100644 index 00000000..2130257b --- /dev/null +++ b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup/index.html @@ -0,0 +1,164 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : cvs</TITLE> + <META name="keywords" content="freesoftware,nel,newt,snowballs,richard stallman,GNU,Multi-User Online World"> + + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-free.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Free Software">Free software</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/cvs/"><img src="http://www.nevrax.org/inc/img/t_cvs.gif" ALT="cvs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + +<!-- title --> +<table width=100%><tr><td align=left><b> <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/">login_service</a> / connection_client.cpp</b></td><td align=right><b></b></td></TR></TABLE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>connection_client.cpp</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<p>Default branch: MAIN<BR> +<HR size=1 NOSHADE><P><a NAME="rev1.4"></a><a NAME="HEAD"></a><a NAME="MAIN"></a> + Revision <A HREF="connection_client.cpp?rev=1.4&content-type=text/x-cvsweb-markup"><b>1.4</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.4">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.4">[select for diffs]</A> +, <i>Mon Jul 2 14:27:43 2001 UTC</i> (2 weeks, 6 days ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>CVS Tags: <b><A HREF="connection_client.cpp?only_with_tag=HEAD">HEAD</A> +</b><BR>Changes since <b>1.3: +7 -4 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.3&r2=1.4">1.3</A> +<PRE> +BUGFIX: linux doesn't receive the message just before the disconnection +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.3"></a> + Revision <A HREF="connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup"><b>1.3</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.3">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.3">[select for diffs]</A> +, <i>Fri May 18 16:51:01 2001 UTC</i> (2 months ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.2: +6 -6 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.2&r2=1.3">1.2</A> +<PRE> +MODIFIED: work with new service +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.2"></a> + Revision <A HREF="connection_client.cpp?rev=1.2&content-type=text/x-cvsweb-markup"><b>1.2</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.2">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.2">[select for diffs]</A> +, <i>Thu May 3 13:19:13 2001 UTC</i> (2 months, 2 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.1: +8 -2 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.1&r2=1.2">1.1</A> +<PRE> +BUGFIX: now compile on linux +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.1"></a> + Revision <A HREF="connection_client.cpp?rev=1.1&content-type=text/x-cvsweb-markup"><b>1.1</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.1">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.1">[select for diffs]</A> +, <i>Wed May 2 12:36:39 2001 UTC</i> (2 months, 2 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?only_with_tag=MAIN">MAIN</A> +</b> +<BR>Diff<PRE> +ADD: new version of the network system (in NeL and NeLns) +</PRE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Request Diffs</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff" NAME="diff_select"> +Diffs between +<SELECT NAME="r1"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.4:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr1" VALUE="1.1" onChange='document.diff_select.r1.selectedIndex=0'> + and +<SELECT NAME="r2"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.4:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr2" VALUE="1.4" onChange='docuement.diff_select.r2.selectedIndex=0'> +<BR>Type of Diff should be a <SELECT NAME="f"> +<OPTION VALUE=h SELECTED>Colored Diff<OPTION VALUE=H>Long Colored Diff<OPTION VALUE=u>Unidiff<OPTION VALUE=c>Context Diff<OPTION VALUE=s>Side by Side</SELECT><INPUT TYPE=SUBMIT VALUE=" Get Diffs "> +</FORM> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Select branch</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<A name=branch></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +View only Branch: +<SELECT NAME="only_with_tag" onchange="submit()"> +<OPTION VALUE="">Show all branches +<OPTION>MAIN +</SELECT> +<INPUT TYPE=SUBMIT VALUE=" View Branch "> +</FORM> +<A name=logsort></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +Sort log by: +<SELECT NAME="logsort" onchange="submit()"> +<OPTION VALUE=cvs>Not sorted<OPTION VALUE=date SELECTED>Commit date<OPTION VALUE=rev>Revision</SELECT> +<INPUT TYPE=SUBMIT VALUE=" Sort "> +</FORM> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML></BODY></HTML> diff --git a/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?sortby=author b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?sortby=author new file mode 100644 index 00000000..3cdf43cb --- /dev/null +++ b/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?sortby=author @@ -0,0 +1,237 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : cvs</TITLE> + <META name="keywords" content="freesoftware,nel,newt,snowballs,richard stallman,GNU,Multi-User Online World"> + + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-free.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/free/" TITLE="Free Software">Free software</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/cvs/"><img src="http://www.nevrax.org/inc/img/t_cvs.gif" ALT="cvs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + +<!-- title --> +<table width=100%><tr><td align=left><b> <a href="/cvs/cvsweb.cgi/?sortby=author">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/?sortby=author">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/?sortby=author">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/login_service/?sortby=author">login_service</a> / connection_client.cpp</b></td><td align=right><b></b></td></TR></TABLE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>connection_client.cpp</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<p>Default branch: MAIN<BR> +<HR size=1 NOSHADE><P><a NAME="rev1.11"></a><a NAME="HEAD"></a><a NAME="MAIN"></a> + Revision <A HREF="connection_client.cpp?rev=1.11&content-type=text/x-cvsweb-markup&sortby=author"><b>1.11</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.11&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.11&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.11&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.11&sortby=author">[select for diffs]</A> +, <i>Mon Mar 25 09:29:24 2002 UTC</i> (4 months ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>CVS Tags: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=HEAD">HEAD</A> +</b><BR>Changes since <b>1.10: +3 -3 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.10&r2=1.11&sortby=author">1.10</A> +<PRE> +CHANGED: use new service functions +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.10"></a> + Revision <A HREF="connection_client.cpp?rev=1.10&content-type=text/x-cvsweb-markup&sortby=author"><b>1.10</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.10&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.10&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.10&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.10&sortby=author">[select for diffs]</A> +, <i>Mon Mar 4 15:33:15 2002 UTC</i> (4 months, 3 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.9: +12 -5 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.9&r2=1.10&sortby=author">1.9</A> +<PRE> +CHANGED: removed the loging_service_database.cfg and now use login_service.udb +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.9"></a> + Revision <A HREF="connection_client.cpp?rev=1.9&content-type=text/x-cvsweb-markup&sortby=author"><b>1.9</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.9&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.9&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.9&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.9&sortby=author">[select for diffs]</A> +, <i>Mon Mar 4 10:24:54 2002 UTC</i> (4 months, 3 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.8: +11 -4 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.8&r2=1.9&sortby=author">1.8</A> +<PRE> +BUGFIX: player was badly removed +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.8"></a> + Revision <A HREF="connection_client.cpp?rev=1.8&content-type=text/x-cvsweb-markup&sortby=author"><b>1.8</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.8&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.8&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.8&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.8&sortby=author">[select for diffs]</A> +, <i>Wed Jan 23 10:55:13 2002 UTC</i> (6 months ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.7: +19 -6 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.7&r2=1.8&sortby=author">1.7</A> +<PRE> +ADDED: beep and displays information +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.7"></a> + Revision <A HREF="connection_client.cpp?rev=1.7&content-type=text/x-cvsweb-markup&sortby=author"><b>1.7</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.7&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.7&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.7&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.7&sortby=author">[select for diffs]</A> +, <i>Thu Jan 17 10:49:27 2002 UTC</i> (6 months, 1 week ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.6: +3 -1 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.6&r2=1.7&sortby=author">1.6</A> +<PRE> +ADDED: beep +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.6"></a> + Revision <A HREF="connection_client.cpp?rev=1.6&content-type=text/x-cvsweb-markup&sortby=author"><b>1.6</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.6&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.6&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.6&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.6&sortby=author">[select for diffs]</A> +, <i>Mon Jan 14 17:48:05 2002 UTC</i> (6 months, 1 week ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.5: +64 -33 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.5&r2=1.6&sortby=author">1.5</A> +<PRE> +ADDED: variables in config file and identification of shard name +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.5"></a> + Revision <A HREF="connection_client.cpp?rev=1.5&content-type=text/x-cvsweb-markup&sortby=author"><b>1.5</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.5&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.5&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.5&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.5&sortby=author">[select for diffs]</A> +, <i>Thu Sep 20 08:54:47 2001 UTC</i> (10 months ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.4: +2 -5 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.4&r2=1.5&sortby=author">1.4</A> +<PRE> +ADDED: more spike error message when authorization failed +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.4"></a> + Revision <A HREF="connection_client.cpp?rev=1.4&content-type=text/x-cvsweb-markup&sortby=author"><b>1.4</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.4&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.4&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.4&sortby=author">[select for diffs]</A> +, <i>Mon Jul 2 14:27:43 2001 UTC</i> (12 months, 3 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.3: +7 -4 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.3&r2=1.4&sortby=author">1.3</A> +<PRE> +BUGFIX: linux doesn't receive the message just before the disconnection +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.3"></a> + Revision <A HREF="connection_client.cpp?rev=1.3&content-type=text/x-cvsweb-markup&sortby=author"><b>1.3</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.3&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.3&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.3&sortby=author">[select for diffs]</A> +, <i>Fri May 18 16:51:01 2001 UTC</i> (14 months, 1 week ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.2: +6 -6 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.2&r2=1.3&sortby=author">1.2</A> +<PRE> +MODIFIED: work with new service +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.2"></a> + Revision <A HREF="connection_client.cpp?rev=1.2&content-type=text/x-cvsweb-markup&sortby=author"><b>1.2</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.2&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.2&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.2&sortby=author">[select for diffs]</A> +, <i>Thu May 3 13:19:13 2001 UTC</i> (14 months, 3 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Changes since <b>1.1: +8 -2 + lines</b><BR>Diff to previous <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff?r1=1.1&r2=1.2&sortby=author">1.1</A> +<PRE> +BUGFIX: now compile on linux +</PRE> +<HR size=1 NOSHADE><P><a NAME="rev1.1"></a> + Revision <A HREF="connection_client.cpp?rev=1.1&content-type=text/x-cvsweb-markup&sortby=author"><b>1.1</b></A> / (<A HREF="/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain&sortby=author" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/nelns/login_service/connection_client.cpp?rev=1.1&content-type=text/plain','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>) - <a href="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?annotate=1.1&sortby=author">annotate</a> - <A HREF="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp?r1=1.1&sortby=author">[select for diffs]</A> +, <i>Wed May 2 12:36:39 2001 UTC</i> (14 months, 3 weeks ago) by <i>lecroart</i> +<BR>Branch: <b><A HREF="connection_client.cpp?sortby=author&only_with_tag=MAIN">MAIN</A> +</b> +<BR>Diff<PRE> +ADD: new version of the network system (in NeL and NeLns) +</PRE> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Request Diffs</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp.diff" NAME="diff_select"> +<INPUT TYPE=HIDDEN NAME="sortby" VALUE="author"> +Diffs between +<SELECT NAME="r1"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.11:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr1" VALUE="1.1" onChange='document.diff_select.r1.selectedIndex=0'> + and +<SELECT NAME="r2"> +<OPTION VALUE="text" SELECTED>Use Text Field +<OPTION VALUE="1:MAIN">MAIN +<OPTION VALUE="1.11:HEAD">HEAD +</SELECT> +<INPUT TYPE="TEXT" SIZE="12" NAME="tr2" VALUE="1.11" onChange='docuement.diff_select.r2.selectedIndex=0'> +<BR>Type of Diff should be a <SELECT NAME="f"> +<OPTION VALUE=h SELECTED>Colored Diff<OPTION VALUE=H>Long Colored Diff<OPTION VALUE=u>Unidiff<OPTION VALUE=c>Context Diff<OPTION VALUE=s>Side by Side</SELECT><INPUT TYPE=SUBMIT VALUE=" Get Diffs "> +</FORM> + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Select branch</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<P> +<P> +<A name=branch></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +<INPUT TYPE=HIDDEN NAME="sortby" VALUE="author"> +View only Branch: +<SELECT NAME="only_with_tag" onchange="submit()"> +<OPTION VALUE="">Show all branches +<OPTION>MAIN +</SELECT> +<INPUT TYPE=SUBMIT VALUE=" View Branch "> +</FORM> +<A name=logsort></A> +<FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/login_service/connection_client.cpp"> +<INPUT TYPE=HIDDEN NAME="sortby" VALUE="author"> +Sort log by: +<SELECT NAME="logsort" onchange="submit()"> +<OPTION VALUE=cvs>Not sorted<OPTION VALUE=date SELECTED>Commit date<OPTION VALUE=rev>Revision</SELECT> +<INPUT TYPE=SUBMIT VALUE=" Sort "> +</FORM> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML></BODY></HTML> |