mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-09 23:03:13 +02:00
Protection against linking race conditions is back again (IOTW: allow very rapid re-linking), but only if your network is fully 3.4.x (actually: current git unreal34 or later)
Re-implemented PROTOCTL SERVERS= which nenolod ripped out (#4355). Add 2nd argument to PROTOCTL EAUTH=servername,unrealprotocol Change UnrealProtocol from 2350 to 2351
This commit is contained in:
+2
-2
@@ -722,9 +722,9 @@ extern char *chfl_to_sjoin_symbol(int s);
|
||||
extern char chfl_to_chanmode(int s);
|
||||
extern void add_pending_net(aClient *sptr, char *str);
|
||||
extern void free_pending_net(aClient *sptr);
|
||||
extern aPendingNet *find_pending_net_by_numeric_butone(int numeric, aClient *exempt);
|
||||
extern aClient *find_pending_net_duplicates(aClient *cptr, aClient **srv, int *numeric);
|
||||
extern aClient *find_non_pending_net_duplicates(aClient *cptr);
|
||||
extern aPendingNet *find_pending_net_by_sid_butone(char *sid, aClient *exempt);
|
||||
extern aClient *find_pending_net_duplicates(aClient *cptr, aClient **srv, char **sid);
|
||||
extern MODVAR char serveropts[];
|
||||
extern MODVAR char *IsupportStrings[];
|
||||
extern void finish_auth(aClient *acptr);
|
||||
|
||||
+11
-5
@@ -145,7 +145,6 @@ typedef struct _cmdoverride Cmdoverride;
|
||||
typedef struct SMember Member;
|
||||
typedef struct SMembership Membership;
|
||||
typedef struct SMembershipL MembershipL;
|
||||
typedef struct PendingNet aPendingNet;
|
||||
|
||||
#ifdef NEED_U_INT32_T
|
||||
typedef unsigned int u_int32_t; /* XXX Hope this works! */
|
||||
@@ -706,6 +705,7 @@ struct Server {
|
||||
} flags;
|
||||
struct {
|
||||
char *chanmodes[4];
|
||||
int protocol;
|
||||
} features;
|
||||
};
|
||||
|
||||
@@ -1719,11 +1719,17 @@ struct _parsemode {
|
||||
char buf[512]; /* internal parse buffer */
|
||||
};
|
||||
|
||||
typedef struct PendingServer aPendingServer;
|
||||
struct PendingServer {
|
||||
aPendingServer *prev, *next;
|
||||
char sid[IDLEN+1];
|
||||
};
|
||||
|
||||
typedef struct PendingNet aPendingNet;
|
||||
struct PendingNet {
|
||||
aPendingNet *prev, *next; /* Previous and next in list */
|
||||
aClient *sptr; /**< Client to which these servers belong */
|
||||
int numservers; /**< Amount of servers in list */
|
||||
int servers[1]; /** The list of servers (array of integer server numerics) */
|
||||
aPendingNet *prev, *next; /* Previous and next in list */
|
||||
aClient *sptr; /**< Client to which these servers belong */
|
||||
aPendingServer *servers; /**< The list of servers connected to the client */
|
||||
};
|
||||
|
||||
void init_throttling_hash();
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@
|
||||
*/
|
||||
#define UNREAL_VERSION_TIME 201411
|
||||
|
||||
#define UnrealProtocol 2350
|
||||
#define UnrealProtocol 2351
|
||||
#define PATCH1 macro_to_str(UNREAL_VERSION_GENERATION)
|
||||
#define PATCH2 "." macro_to_str(UNREAL_VERSION_MAJOR)
|
||||
#define PATCH3 ""
|
||||
|
||||
Reference in New Issue
Block a user