Merge pull request #1098 from bmiklautz/stable-1.0

Fixes for 1.0.3
This commit is contained in:
Marc-André Moreau 2013-03-15 06:51:03 -07:00
commit 20fbecee2d
12 changed files with 89 additions and 72 deletions

View File

@ -434,7 +434,7 @@ static const virtualKey virtualKeyboard[256 + 2] =
{ 0x00, 0, "VK_SEPARATOR" , NULL },
{ 0x4A, 0, "VK_SUBTRACT" , "KPSU" },
{ 0x53, 0, "VK_DECIMAL" , "KPDL" },
{ 0x35, 0, "VK_DIVIDE" , "KPDV" },
{ 0x35, 1, "VK_DIVIDE" , "KPDV" },
{ 0x3B, 0, "VK_F1" , "FK01" },
{ 0x3C, 0, "VK_F2" , "FK02" },
{ 0x3D, 0, "VK_F3" , "FK03" },

View File

@ -26,6 +26,7 @@
#endif
/* Base Types */
#include "config.h"
#ifdef HAVE_LIMITS_H
#include <limits.h>

View File

@ -86,7 +86,7 @@ void freerdp_set_pixel(uint8* data, int x, int y, int width, int height, int bpp
}
}
INLINE void freerdp_color_split_rgb(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
static INLINE void freerdp_color_split_rgb(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
{
*red = *green = *blue = 0;
*alpha = (clrconv->alpha) ? 0xFF : 0x00;
@ -137,7 +137,7 @@ INLINE void freerdp_color_split_rgb(uint32* color, int bpp, uint8* red, uint8* g
}
}
INLINE void freerdp_color_split_bgr(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
static INLINE void freerdp_color_split_bgr(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
{
*red = *green = *blue = 0;
*alpha = (clrconv->alpha) ? 0xFF : 0x00;
@ -188,7 +188,7 @@ INLINE void freerdp_color_split_bgr(uint32* color, int bpp, uint8* red, uint8* g
}
}
INLINE void freerdp_color_make_rgb(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
static INLINE void freerdp_color_make_rgb(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
{
switch (bpp)
{
@ -229,7 +229,7 @@ INLINE void freerdp_color_make_rgb(uint32* color, int bpp, uint8* red, uint8* gr
}
}
INLINE void freerdp_color_make_bgr(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
static INLINE void freerdp_color_make_bgr(uint32* color, int bpp, uint8* red, uint8* green, uint8* blue, uint8* alpha, HCLRCONV clrconv)
{
switch (bpp)
{

View File

@ -63,7 +63,7 @@ int ber_write_length(STREAM* s, int length)
int _ber_skip_length(int length)
{
if (length > 0x7F)
if (length > 0x80)
return 3;
else
return 1;
@ -71,7 +71,7 @@ int _ber_skip_length(int length)
int ber_get_content_length(int length)
{
if (length - 1 > 0x7F)
if (length > 0x81)
return length - 4;
else
return length - 2;

View File

@ -642,7 +642,22 @@ int certificate_data_match(rdpCertificateStore* certificate_store, rdpCertificat
if (strcmp(pline, certificate_data->fingerprint) == 0)
match = 0;
else
match = -1;
{
if (strlen(pline) == strlen(certificate_data->fingerprint)-3 && strcmp(pline, certificate_data->fingerprint+3) == 0)
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("@ WARNING: OLD KEY FORMAT FOUND FOR HOST %s!\n", certificate_data->hostname);
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("Freerdps known_host file format was updated.\n");
printf("The new key is : %s\n", certificate_data->fingerprint);
printf("The old key was : %s\n", pline);
printf("To be secure remove or update the line containing the hostname in ~/.freerdp/known_hosts\n");
printf(" and reconnect\n");
match = 0;
}
else
match = -1;
}
break;
}
}

View File

@ -349,7 +349,7 @@ char* crypto_cert_fingerprint(X509* xcert)
for (i = 0; i < (int) (fp_len - 1); i++)
{
sprintf(p, "%02x:", fp[i]);
p = &fp_buffer[i * 3];
p = &fp_buffer[(i + 1) * 3];
}
sprintf(p, "%02x", fp[i]);

View File

@ -82,7 +82,7 @@ uint16 fastpath_read_header(rdpFastPath* fastpath, STREAM* s)
return length;
}
INLINE void fastpath_read_update_header(STREAM* s, uint8* updateCode, uint8* fragmentation, uint8* compression)
static INLINE void fastpath_read_update_header(STREAM* s, uint8* updateCode, uint8* fragmentation, uint8* compression)
{
uint8 updateHeader;
@ -92,7 +92,7 @@ INLINE void fastpath_read_update_header(STREAM* s, uint8* updateCode, uint8* fra
*compression = (updateHeader >> 6) & 0x03;
}
INLINE void fastpath_write_update_header(STREAM* s, uint8 updateCode, uint8 fragmentation, uint8 compression)
static INLINE void fastpath_write_update_header(STREAM* s, uint8 updateCode, uint8 fragmentation, uint8 compression)
{
uint8 updateHeader = 0;

View File

@ -138,7 +138,7 @@ static const uint8 BMF_BPP[] =
0, 1, 0, 8, 16, 24, 32
};
INLINE void update_read_coord(STREAM* s, sint32* coord, boolean delta)
static INLINE void update_read_coord(STREAM* s, sint32* coord, boolean delta)
{
sint8 lsi8;
sint16 lsi16;
@ -155,7 +155,7 @@ INLINE void update_read_coord(STREAM* s, sint32* coord, boolean delta)
}
}
INLINE void update_read_color(STREAM* s, uint32* color)
static INLINE void update_read_color(STREAM* s, uint32* color)
{
uint8 byte;
@ -167,7 +167,7 @@ INLINE void update_read_color(STREAM* s, uint32* color)
*color |= (byte << 16);
}
INLINE void update_read_colorref(STREAM* s, uint32* color)
static INLINE void update_read_colorref(STREAM* s, uint32* color)
{
uint8 byte;
@ -180,7 +180,7 @@ INLINE void update_read_colorref(STREAM* s, uint32* color)
stream_seek_uint8(s);
}
INLINE void update_read_color_quad(STREAM* s, uint32* color)
static INLINE void update_read_color_quad(STREAM* s, uint32* color)
{
uint8 byte;
@ -193,7 +193,7 @@ INLINE void update_read_color_quad(STREAM* s, uint32* color)
stream_seek_uint8(s);
}
INLINE void update_read_2byte_unsigned(STREAM* s, uint32* value)
static INLINE void update_read_2byte_unsigned(STREAM* s, uint32* value)
{
uint8 byte;
@ -211,7 +211,7 @@ INLINE void update_read_2byte_unsigned(STREAM* s, uint32* value)
}
}
INLINE void update_read_2byte_signed(STREAM* s, sint32* value)
static INLINE void update_read_2byte_signed(STREAM* s, sint32* value)
{
uint8 byte;
boolean negative;
@ -232,7 +232,7 @@ INLINE void update_read_2byte_signed(STREAM* s, sint32* value)
*value *= -1;
}
INLINE void update_read_4byte_unsigned(STREAM* s, uint32* value)
static INLINE void update_read_4byte_unsigned(STREAM* s, uint32* value)
{
uint8 byte;
uint8 count;
@ -276,7 +276,7 @@ INLINE void update_read_4byte_unsigned(STREAM* s, uint32* value)
}
}
INLINE void update_read_delta(STREAM* s, sint32* value)
static INLINE void update_read_delta(STREAM* s, sint32* value)
{
uint8 byte;
@ -294,7 +294,7 @@ INLINE void update_read_delta(STREAM* s, sint32* value)
}
}
INLINE void update_read_glyph_delta(STREAM* s, uint16* value)
static INLINE void update_read_glyph_delta(STREAM* s, uint16* value)
{
uint8 byte;
@ -306,7 +306,7 @@ INLINE void update_read_glyph_delta(STREAM* s, uint16* value)
*value = (byte & 0x3F);
}
INLINE void update_seek_glyph_delta(STREAM* s)
static INLINE void update_seek_glyph_delta(STREAM* s)
{
uint8 byte;
@ -316,7 +316,7 @@ INLINE void update_seek_glyph_delta(STREAM* s)
stream_seek_uint8(s);
}
INLINE void update_read_brush(STREAM* s, rdpBrush* brush, uint8 fieldFlags)
static INLINE void update_read_brush(STREAM* s, rdpBrush* brush, uint8 fieldFlags)
{
if (fieldFlags & ORDER_FIELD_01)
stream_read_uint8(s, brush->x);
@ -354,7 +354,7 @@ INLINE void update_read_brush(STREAM* s, rdpBrush* brush, uint8 fieldFlags)
}
}
INLINE void update_read_delta_rects(STREAM* s, DELTA_RECT* rectangles, int number)
static INLINE void update_read_delta_rects(STREAM* s, DELTA_RECT* rectangles, int number)
{
int i;
uint8 flags = 0;
@ -399,7 +399,7 @@ INLINE void update_read_delta_rects(STREAM* s, DELTA_RECT* rectangles, int numbe
}
}
INLINE void update_read_delta_points(STREAM* s, DELTA_POINT* points, int number, sint16 x, sint16 y)
static INLINE void update_read_delta_points(STREAM* s, DELTA_POINT* points, int number, sint16 x, sint16 y)
{
int i;
uint8 flags = 0;

View File

@ -820,96 +820,96 @@ int PatBlt_16bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, i
return 1;
}
INLINE void SetPixel_BLACK_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_BLACK_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = 0 */
*pixel = 0;
}
INLINE void SetPixel_NOTMERGEPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOTMERGEPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = ~(D | P) */
*pixel = ~(*pixel | *pen);
}
INLINE void SetPixel_MASKNOTPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MASKNOTPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = D & ~P */
*pixel &= ~(*pen);
}
INLINE void SetPixel_NOTCOPYPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOTCOPYPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = ~P */
*pixel = ~(*pen);
}
INLINE void SetPixel_MASKPENNOT_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MASKPENNOT_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = P & ~D */
*pixel = *pen & ~*pixel;
}
INLINE void SetPixel_NOT_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOT_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = ~D */
*pixel = ~(*pixel);
}
INLINE void SetPixel_XORPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_XORPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = D ^ P */
*pixel = *pixel ^ *pen;
}
INLINE void SetPixel_NOTMASKPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOTMASKPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = ~(D & P) */
*pixel = ~(*pixel & *pen);
}
INLINE void SetPixel_MASKPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MASKPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = D & P */
*pixel &= *pen;
}
INLINE void SetPixel_NOTXORPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOTXORPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = ~(D ^ P) */
*pixel = ~(*pixel ^ *pen);
}
INLINE void SetPixel_NOP_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_NOP_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = D */
}
INLINE void SetPixel_MERGENOTPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MERGENOTPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = D | ~P */
*pixel |= ~(*pen);
}
INLINE void SetPixel_COPYPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_COPYPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = P */
*pixel = *pen;
}
INLINE void SetPixel_MERGEPENNOT_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MERGEPENNOT_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = P | ~D */
*pixel = *pen | ~(*pixel);
}
INLINE void SetPixel_MERGEPEN_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_MERGEPEN_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = P | D */
*pixel |= *pen;
}
INLINE void SetPixel_WHITE_16bpp(uint16 *pixel, uint16 *pen)
static INLINE void SetPixel_WHITE_16bpp(uint16 *pixel, uint16 *pen)
{
/* D = 1 */
*pixel = 0xFFFF;

View File

@ -849,96 +849,96 @@ int PatBlt_32bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, i
return 1;
}
INLINE void SetPixel_BLACK_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_BLACK_32bpp(uint32* pixel, uint32* pen)
{
/* D = 0 */
*pixel = 0;
}
INLINE void SetPixel_NOTMERGEPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOTMERGEPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = ~(D | P) */
*pixel = ~(*pixel | *pen);
}
INLINE void SetPixel_MASKNOTPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MASKNOTPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = D & ~P */
*pixel &= ~(*pen);
}
INLINE void SetPixel_NOTCOPYPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOTCOPYPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = ~P */
*pixel = ~(*pen);
}
INLINE void SetPixel_MASKPENNOT_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MASKPENNOT_32bpp(uint32* pixel, uint32* pen)
{
/* D = P & ~D */
*pixel = *pen & ~*pixel;
}
INLINE void SetPixel_NOT_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOT_32bpp(uint32* pixel, uint32* pen)
{
/* D = ~D */
*pixel = ~(*pixel);
}
INLINE void SetPixel_XORPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_XORPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = D ^ P */
*pixel = *pixel ^ *pen;
}
INLINE void SetPixel_NOTMASKPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOTMASKPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = ~(D & P) */
*pixel = ~(*pixel & *pen);
}
INLINE void SetPixel_MASKPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MASKPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = D & P */
*pixel &= *pen;
}
INLINE void SetPixel_NOTXORPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOTXORPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = ~(D ^ P) */
*pixel = ~(*pixel ^ *pen);
}
INLINE void SetPixel_NOP_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_NOP_32bpp(uint32* pixel, uint32* pen)
{
/* D = D */
}
INLINE void SetPixel_MERGENOTPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MERGENOTPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = D | ~P */
*pixel |= ~(*pen);
}
INLINE void SetPixel_COPYPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_COPYPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = P */
*pixel = *pen;
}
INLINE void SetPixel_MERGEPENNOT_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MERGEPENNOT_32bpp(uint32* pixel, uint32* pen)
{
/* D = P | ~D */
*pixel = *pen | ~(*pixel);
}
INLINE void SetPixel_MERGEPEN_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_MERGEPEN_32bpp(uint32* pixel, uint32* pen)
{
/* D = P | D */
*pixel |= *pen;
}
INLINE void SetPixel_WHITE_32bpp(uint32* pixel, uint32* pen)
static INLINE void SetPixel_WHITE_32bpp(uint32* pixel, uint32* pen)
{
/* D = 1 */
*pixel = 0xFFFFFF;

View File

@ -729,96 +729,96 @@ int PatBlt_8bpp(HGDI_DC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, in
return 1;
}
INLINE void SetPixel_BLACK_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_BLACK_8bpp(uint8* pixel, uint8* pen)
{
/* D = 0 */
*pixel = 0;
}
INLINE void SetPixel_NOTMERGEPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOTMERGEPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = ~(D | P) */
*pixel = ~(*pixel | *pen);
}
INLINE void SetPixel_MASKNOTPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MASKNOTPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = D & ~P */
*pixel &= ~(*pen);
}
INLINE void SetPixel_NOTCOPYPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOTCOPYPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = ~P */
*pixel = ~(*pen);
}
INLINE void SetPixel_MASKPENNOT_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MASKPENNOT_8bpp(uint8* pixel, uint8* pen)
{
/* D = P & ~D */
*pixel = *pen & ~*pixel;
}
INLINE void SetPixel_NOT_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOT_8bpp(uint8* pixel, uint8* pen)
{
/* D = ~D */
*pixel = ~(*pixel);
}
INLINE void SetPixel_XORPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_XORPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = D ^ P */
*pixel = *pixel ^ *pen;
}
INLINE void SetPixel_NOTMASKPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOTMASKPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = ~(D & P) */
*pixel = ~(*pixel & *pen);
}
INLINE void SetPixel_MASKPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MASKPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = D & P */
*pixel &= *pen;
}
INLINE void SetPixel_NOTXORPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOTXORPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = ~(D ^ P) */
*pixel = ~(*pixel ^ *pen);
}
INLINE void SetPixel_NOP_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_NOP_8bpp(uint8* pixel, uint8* pen)
{
/* D = D */
}
INLINE void SetPixel_MERGENOTPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MERGENOTPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = D | ~P */
*pixel |= ~(*pen);
}
INLINE void SetPixel_COPYPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_COPYPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = P */
*pixel = *pen;
}
INLINE void SetPixel_MERGEPENNOT_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MERGEPENNOT_8bpp(uint8* pixel, uint8* pen)
{
/* D = P | ~D */
*pixel = *pen | ~(*pixel);
}
INLINE void SetPixel_MERGEPEN_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_MERGEPEN_8bpp(uint8* pixel, uint8* pen)
{
/* D = P | D */
*pixel |= *pen;
}
INLINE void SetPixel_WHITE_8bpp(uint8* pixel, uint8* pen)
static INLINE void SetPixel_WHITE_8bpp(uint8* pixel, uint8* pen)
{
/* D = 1 */
*pixel = 0xFF;

View File

@ -624,6 +624,7 @@ void* xf_peer_main_loop(void* arg)
settings->cert_file = freerdp_construct_path(server_file_path, "server.crt");
settings->privatekey_file = freerdp_construct_path(server_file_path, "server.key");
settings->rdp_key_file = freerdp_construct_path(server_file_path, "server.key");
settings->nla_security = false;
settings->rfx_codec = true;