projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added basic ssl support to ircu
[ircu2.10.12-pk.git]
/
ircd
/
s_user.c
diff --git
a/ircd/s_user.c
b/ircd/s_user.c
index 1f0e0d92ddd990ff543c0445af741d7d72464555..632e185b5348bfa146b473cf193342ff7743f448 100644
(file)
--- a/
ircd/s_user.c
+++ b/
ircd/s_user.c
@@
-57,6
+57,7
@@
#include "s_misc.h"
#include "s_serv.h" /* max_client_count */
#include "send.h"
#include "s_misc.h"
#include "s_serv.h" /* max_client_count */
#include "send.h"
+#include "ssl.h"
#include "struct.h"
#include "supported.h"
#include "sys.h"
#include "struct.h"
#include "supported.h"
#include "sys.h"
@@
-395,6
+396,10
@@
int register_user(struct Client *cptr, struct Client *sptr)
cli_info(sptr), NumNick(cptr) /* two %s's */);
IPcheck_connect_succeeded(sptr);
cli_info(sptr), NumNick(cptr) /* two %s's */);
IPcheck_connect_succeeded(sptr);
+
+ if(cli_connect(sptr)->con_ssl) {
+ SetSSLConn(sptr);
+ }
}
else {
struct Client *acptr = user->server;
}
else {
struct Client *acptr = user->server;
@@
-499,7
+504,8
@@
static const struct UserMode {
{ FLAG_CHSERV, 'k' },
{ FLAG_DEBUG, 'g' },
{ FLAG_ACCOUNT, 'r' },
{ FLAG_CHSERV, 'k' },
{ FLAG_DEBUG, 'g' },
{ FLAG_ACCOUNT, 'r' },
- { FLAG_HIDDENHOST, 'x' }
+ { FLAG_HIDDENHOST, 'x' },
+ { FLAG_SSLCONN, 'S' }
};
/** Length of #userModeList. */
};
/** Length of #userModeList. */
@@
-1076,6
+1082,12
@@
int set_user_mode(struct Client *cptr, struct Client *sptr, int parc,
case 'x':
if (what == MODE_ADD)
do_host_hiding = 1;
case 'x':
if (what == MODE_ADD)
do_host_hiding = 1;
+ case 'S':
+ if (what == MODE_ADD)
+ SetSSLConn(sptr);
+ else
+ ClearSSLConn(sptr);
+ break;
break;
case 'r':
if (*(p + 1) && (what == MODE_ADD)) {
break;
case 'r':
if (*(p + 1) && (what == MODE_ADD)) {
@@
-1102,6
+1114,10
@@
int set_user_mode(struct Client *cptr, struct Client *sptr, int parc,
ClearLocOp(sptr);
if (!FlagHas(&setflags, FLAG_ACCOUNT) && IsAccount(sptr))
ClrFlag(sptr, FLAG_ACCOUNT);
ClearLocOp(sptr);
if (!FlagHas(&setflags, FLAG_ACCOUNT) && IsAccount(sptr))
ClrFlag(sptr, FLAG_ACCOUNT);
+ if (!FlagHas(&setflags, FLAG_SSLCONN) && IsSSLConn(sptr))
+ ClrFlag(sptr, FLAG_SSLCONN);
+ else if (FlagHas(&setflags, FLAG_SSLCONN) && !IsSSLConn(sptr))
+ SetFlag(sptr, FLAG_SSLCONN);
/*
* new umode; servers can set it, local users cannot;
* prevents users from /kick'ing or /mode -o'ing
/*
* new umode; servers can set it, local users cannot;
* prevents users from /kick'ing or /mode -o'ing