libfreerdp-core: got NLA back to a working state
This commit is contained in:
parent
1ef3b140a6
commit
64f71b0b30
@ -62,7 +62,10 @@ int main(int argc, char* argv[])
|
||||
printf("hostname: %s username: %s password: %s\n",
|
||||
hostname, username, password);
|
||||
|
||||
settings->hostname = hostname;
|
||||
settings->username = username;
|
||||
settings->password = password;
|
||||
settings->domain = NULL;
|
||||
|
||||
nego_init(nego);
|
||||
nego_set_target(nego, hostname, 3389);
|
||||
|
@ -66,16 +66,15 @@ struct rdp_settings
|
||||
int num_monitors;
|
||||
struct rdp_monitor monitors[16];
|
||||
|
||||
char hostname[16];
|
||||
char server[64];
|
||||
char domain[16];
|
||||
char* hostname;
|
||||
char* username;
|
||||
char* password;
|
||||
char* domain;
|
||||
|
||||
char shell[256];
|
||||
char directory[256];
|
||||
char username[256];
|
||||
int tcp_port_rdp;
|
||||
int performance_flags;
|
||||
int tcp_port_rdp;
|
||||
|
||||
int encryption;
|
||||
int tls_security;
|
||||
|
@ -142,10 +142,9 @@ stream_extend(STREAM * stream);
|
||||
*_s->p++ = ((_v) >> 8) & 0xFF; \
|
||||
*_s->p++ = (_v) & 0xFF; } while (0)
|
||||
#define stream_write_uint32_be(_s, _v) do { \
|
||||
*_s->p++ = ((_v) >> 8) & 0xFF; \
|
||||
*_s->p++ = (_v) & 0xFF; \
|
||||
*_s->p++ = ((_v) >> 24) & 0xFF; \
|
||||
*_s->p++ = ((_v) >> 16) & 0xFF; } while (0)
|
||||
stream_write_uint16_be(_s, ((_v) >> 16 & 0xFFFF)); \
|
||||
stream_write_uint16_be(_s, ((_v) & 0xFFFF)); \
|
||||
} while (0)
|
||||
|
||||
#define stream_copy(_dst, _src, _n) do { \
|
||||
memcpy(_dst->p, _src->p, _n); \
|
||||
|
@ -156,7 +156,7 @@ NTLMSSP* ntlmssp_new();
|
||||
void ntlmssp_init(NTLMSSP* ntlmssp);
|
||||
void ntlmssp_free(NTLMSSP* ntlmssp);
|
||||
|
||||
#define WITH_DEBUG_NLA
|
||||
#define WITH_DEBUG_NLA 1
|
||||
|
||||
#ifdef WITH_DEBUG_NLA
|
||||
#define DEBUG_NLA(fmt, ...) DEBUG_CLASS(NLA, fmt, ## __VA_ARGS__)
|
||||
|
@ -22,8 +22,7 @@
|
||||
|
||||
#include "tls.h"
|
||||
|
||||
boolean
|
||||
tls_connect(rdpTls * tls)
|
||||
boolean tls_connect(rdpTls* tls)
|
||||
{
|
||||
int connection_status;
|
||||
|
||||
@ -59,14 +58,12 @@ tls_connect(rdpTls * tls)
|
||||
return True;
|
||||
}
|
||||
|
||||
boolean
|
||||
tls_disconnect(rdpTls * tls)
|
||||
boolean tls_disconnect(rdpTls* tls)
|
||||
{
|
||||
return True;
|
||||
}
|
||||
|
||||
int
|
||||
tls_read(rdpTls * tls, char* data, int length)
|
||||
int tls_read(rdpTls* tls, char* data, int length)
|
||||
{
|
||||
int status;
|
||||
|
||||
@ -94,11 +91,10 @@ tls_read(rdpTls * tls, char* data, int length)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
tls_write(rdpTls * tls, char* data, int length)
|
||||
int tls_write(rdpTls* tls, char* data, int length)
|
||||
{
|
||||
int write_status;
|
||||
int bytes = 0;
|
||||
int write_status;
|
||||
|
||||
while (bytes < length)
|
||||
{
|
||||
@ -123,8 +119,7 @@ tls_write(rdpTls * tls, char* data, int length)
|
||||
return bytes;
|
||||
}
|
||||
|
||||
boolean
|
||||
tls_print_error(char *func, SSL *connection, int value)
|
||||
boolean tls_print_error(char *func, SSL *connection, int value)
|
||||
{
|
||||
switch (SSL_get_error(connection, value))
|
||||
{
|
||||
@ -154,11 +149,10 @@ tls_print_error(char *func, SSL *connection, int value)
|
||||
}
|
||||
}
|
||||
|
||||
CryptoCert
|
||||
tls_get_certificate(rdpTls * tls)
|
||||
CryptoCert tls_get_certificate(rdpTls * tls)
|
||||
{
|
||||
CryptoCert cert;
|
||||
X509 * server_cert;
|
||||
X509* server_cert;
|
||||
|
||||
server_cert = SSL_get_peer_certificate(tls->ssl);
|
||||
|
||||
@ -176,10 +170,11 @@ tls_get_certificate(rdpTls * tls)
|
||||
return cert;
|
||||
}
|
||||
|
||||
rdpTls*
|
||||
tls_new()
|
||||
rdpTls* tls_new()
|
||||
{
|
||||
rdpTls *tls = (rdpTls*) xzalloc(sizeof(rdpTls));
|
||||
rdpTls* tls;
|
||||
|
||||
tls = (rdpTls*) xzalloc(sizeof(rdpTls));
|
||||
|
||||
if (tls != NULL)
|
||||
{
|
||||
@ -216,8 +211,7 @@ tls_new()
|
||||
return tls;
|
||||
}
|
||||
|
||||
void
|
||||
tls_free(rdpTls* tls)
|
||||
void tls_free(rdpTls* tls)
|
||||
{
|
||||
if (tls != NULL)
|
||||
{
|
||||
|
@ -30,35 +30,27 @@
|
||||
#include <freerdp/utils/stream.h>
|
||||
|
||||
typedef struct rdp_tls rdpTls;
|
||||
typedef boolean (*TlsConnect) (rdpTls * tls);
|
||||
typedef boolean (*TlsDisconnect) (rdpTls * tls);
|
||||
typedef boolean (*TlsConnect) (rdpTls* tls);
|
||||
typedef boolean (*TlsDisconnect) (rdpTls* tls);
|
||||
|
||||
struct rdp_tls
|
||||
{
|
||||
SSL * ssl;
|
||||
SSL* ssl;
|
||||
int sockfd;
|
||||
SSL_CTX * ctx;
|
||||
SSL_CTX* ctx;
|
||||
struct timespec ts;
|
||||
TlsConnect connect;
|
||||
TlsDisconnect disconnect;
|
||||
};
|
||||
|
||||
boolean
|
||||
tls_connect(rdpTls * tls);
|
||||
boolean
|
||||
tls_disconnect(rdpTls * tls);
|
||||
int
|
||||
tls_read(rdpTls * tls, char* data, int length);
|
||||
int
|
||||
tls_write(rdpTls * tls, char* data, int length);
|
||||
CryptoCert
|
||||
tls_get_certificate(rdpTls * tls);
|
||||
boolean
|
||||
tls_print_error(char *func, SSL *connection, int value);
|
||||
boolean tls_connect(rdpTls* tls);
|
||||
boolean tls_disconnect(rdpTls* tls);
|
||||
int tls_read(rdpTls* tls, char* data, int length);
|
||||
int tls_write(rdpTls* tls, char* data, int length);
|
||||
CryptoCert tls_get_certificate(rdpTls* tls);
|
||||
boolean tls_print_error(char* func, SSL* connection, int value);
|
||||
|
||||
rdpTls*
|
||||
tls_new();
|
||||
void
|
||||
tls_free(rdpTls* tls);
|
||||
rdpTls* tls_new();
|
||||
void tls_free(rdpTls* tls);
|
||||
|
||||
#endif /* __TLS_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user