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);
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;
*_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); \
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__)
#include "tls.h"
-boolean
-tls_connect(rdpTls * tls)
+boolean tls_connect(rdpTls* tls)
{
int connection_status;
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;
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)
{
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))
{
}
}
-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);
return cert;
}
-rdpTls*
-tls_new()
+rdpTls* tls_new()
{
- rdpTls *tls = (rdpTls*) xzalloc(sizeof(rdpTls));
+ rdpTls* tls;
+
+ tls = (rdpTls*) xzalloc(sizeof(rdpTls));
if (tls != NULL)
{
return tls;
}
-void
-tls_free(rdpTls* tls)
+void tls_free(rdpTls* tls)
{
if (tls != NULL)
{
#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 */