Added support for OpenBSD
This commit is contained in:
parent
eff4555d52
commit
f50ae8a80f
@ -31,7 +31,7 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#ifdef __FreeBSD__
|
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||||
#include <sys/endian.h>
|
#include <sys/endian.h>
|
||||||
#endif
|
#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -58,6 +58,10 @@
|
|||||||
#define __builtin_bswap32(x) bswap32(x)
|
#define __builtin_bswap32(x) bswap32(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__)
|
||||||
|
#define __builtin_bswap32(x) __swap32gen(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define sha1 SHA1
|
#define sha1 SHA1
|
||||||
|
|
||||||
#include "mtproto-common.h"
|
#include "mtproto-common.h"
|
||||||
@ -1720,7 +1724,7 @@ int rpc_execute (struct connection *c, int op, int len) {
|
|||||||
logprintf ( "have %d Response bytes\n", Response_len);
|
logprintf ( "have %d Response bytes\n", Response_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
int o = c_state;
|
int o = c_state;
|
||||||
@ -1728,19 +1732,19 @@ int rpc_execute (struct connection *c, int op, int len) {
|
|||||||
switch (o) {
|
switch (o) {
|
||||||
case st_reqpq_sent:
|
case st_reqpq_sent:
|
||||||
process_respq_answer (c, Response/* + 8*/, Response_len/* - 12*/);
|
process_respq_answer (c, Response/* + 8*/, Response_len/* - 12*/);
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
case st_reqdh_sent:
|
case st_reqdh_sent:
|
||||||
process_dh_answer (c, Response/* + 8*/, Response_len/* - 12*/);
|
process_dh_answer (c, Response/* + 8*/, Response_len/* - 12*/);
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
case st_client_dh_sent:
|
case st_client_dh_sent:
|
||||||
process_auth_complete (c, Response/* + 8*/, Response_len/* - 12*/);
|
process_auth_complete (c, Response/* + 8*/, Response_len/* - 12*/);
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
@ -1750,7 +1754,7 @@ int rpc_execute (struct connection *c, int op, int len) {
|
|||||||
} else {
|
} else {
|
||||||
process_rpc_message (c, (void *)(Response/* + 8*/), Response_len/* - 12*/);
|
process_rpc_message (c, (void *)(Response/* + 8*/), Response_len/* - 12*/);
|
||||||
}
|
}
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
@ -1778,7 +1782,7 @@ int tc_becomes_ready (struct connection *c) {
|
|||||||
assert (write_out (c, &byte, 1) == 1);
|
assert (write_out (c, &byte, 1) == 1);
|
||||||
flush_out (c);
|
flush_out (c);
|
||||||
|
|
||||||
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined (__CYGWIN__)
|
#if !defined(__MACH__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined (__CYGWIN__)
|
||||||
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
setsockopt (c->fd, IPPROTO_TCP, TCP_QUICKACK, (int[]){0}, 4);
|
||||||
#endif
|
#endif
|
||||||
int o = c_state;
|
int o = c_state;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user