libfreerdp-core: got NLA back to a working state
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Thu, 7 Jul 2011 18:11:12 +0000 (14:11 -0400)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Thu, 7 Jul 2011 18:11:12 +0000 (14:11 -0400)
freerdp-ui/test/freerdp.c
include/freerdp/settings.h
include/freerdp/utils/stream.h
libfreerdp-core/ntlmssp.h
libfreerdp-core/tls.c
libfreerdp-core/tls.h

index f4207e4..e90b0c8 100644 (file)
@@ -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);
index 10a8a67..48ee32c 100644 (file)
@@ -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;
index 66e8b59..b62bde9 100644 (file)
@@ -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); \
index 75d31f8..5ff268a 100644 (file)
@@ -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__)
index 46bd243..739544d 100644 (file)
@@ -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)
        {
index 8366f01..d1095ac 100644 (file)
 #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 */