diff options
author | jsorg71 <jsorg71> | 2005-03-13 01:17:30 +0000 |
---|---|---|
committer | jsorg71 <jsorg71> | 2005-03-13 01:17:30 +0000 |
commit | 7ac2f6506f4db7325d7e6ad3d3964e52aeed0112 (patch) | |
tree | 3d09fbfe55935662e5bf1b1982949e49ecd6a50d /vnc | |
parent | 013c11499584361d6743588dd63db258c4f93848 (diff) | |
download | xrdp-proprietary-7ac2f6506f4db7325d7e6ad3d3964e52aeed0112.tar.gz xrdp-proprietary-7ac2f6506f4db7325d7e6ad3d3964e52aeed0112.zip |
remove vncauth.c
Diffstat (limited to 'vnc')
-rw-r--r-- | vnc/Makefile | 9 | ||||
-rw-r--r-- | vnc/vnc.c | 16 | ||||
-rw-r--r-- | vnc/vnc.h | 3 | ||||
-rw-r--r-- | vnc/vncauth.c | 56 |
4 files changed, 24 insertions, 60 deletions
diff --git a/vnc/Makefile b/vnc/Makefile index b94673e2..82b126f9 100644 --- a/vnc/Makefile +++ b/vnc/Makefile @@ -1,6 +1,7 @@ -VNCOBJ = ../common/os_calls.o vnc.o ../common/d3des.o vncauth.o +VNCOBJ = vnc.o os_calls.o d3des.o CFLAGS = -Wall -O2 -I../common +C_OS_FLAGS = $(CFLAGS) -c LDFLAGS = -shared LIBS = -ldl CC = gcc @@ -12,3 +13,9 @@ vnc: $(VNCOBJ) clean: rm -f $(VNCOBJ) libvnc.so + +os_calls.o: + $(CC) $(C_OS_FLAGS) ../common/os_calls.c + +d3des.o: + $(CC) $(C_OS_FLAGS) ../common/d3des.c @@ -23,6 +23,20 @@ #include "vnc.h" /******************************************************************************/ +/* taken from vncauth.c */ +void rfbEncryptBytes(char* bytes, char* passwd) +{ + char key[12]; + + /* key is simply password padded with nulls */ + g_memset(key, 0, sizeof(key)); + g_strncpy(key, passwd, 8); + rfbDesKey((unsigned char*)key, EN0); /* 0, encrypt */ + rfbDes((unsigned char*)bytes, (unsigned char*)bytes); + rfbDes((unsigned char*)(bytes + 8), (unsigned char*)(bytes + 8)); +} + +/******************************************************************************/ /* returns error */ int lib_recv(struct vnc* v, char* data, int len) { @@ -849,7 +863,7 @@ int lib_mod_connect(struct vnc* v) error = lib_recv(v, s->data, 16); if (error == 0) { - rfbEncryptBytes((unsigned char*)s->data, v->password); + rfbEncryptBytes(s->data, v->password); error = lib_send(v, s->data, 16); } } @@ -24,8 +24,7 @@ #include "arch.h" #include "parse.h" #include "os_calls.h" - -void rfbEncryptBytes(unsigned char *bytes, char *passwd); +#include "d3des.h" struct vnc { diff --git a/vnc/vncauth.c b/vnc/vncauth.c deleted file mode 100644 index e2d4b97c..00000000 --- a/vnc/vncauth.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. - * - * This is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. - */ - -/* - * vncauth.c - Functions for VNC password management and authentication. - */ - -/* - stripped down Jay Sorg for xrdp -*/ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include "d3des.h" -#include <string.h> -#include <math.h> - - -void rfbEncryptBytes(unsigned char *bytes, char *passwd) -{ - unsigned char key[8]; - unsigned int i; - - /* key is simply password padded with nulls */ - - for (i = 0; i < 8; i++) { - if (i < strlen(passwd)) { - key[i] = passwd[i]; - } else { - key[i] = 0; - } - } - - rfbDesKey(key, EN0); - - for (i = 0; i < 16; i += 8) { - rfbDes(bytes+i, bytes+i); - } -} |