From 38cbc4b783f6935e2f2d0b2fa4395d9fe5c007a7 Mon Sep 17 00:00:00 2001 From: dscho Date: Tue, 25 Sep 2001 11:58:24 +0000 Subject: [PATCH] moved vncauth to libvncserver --- Makefile | 32 ++++++++++++++------------------ classes/vncviewer.jar | Bin 31235 -> 31205 bytes rfb.h | 13 ++++++++++++- storepasswd.c | 2 +- 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 11a652a..a8b404b 100644 --- a/Makefile +++ b/Makefile @@ -3,9 +3,8 @@ CFLAGS=-g -Wall #CFLAGS=-O2 -Wall RANLIB=ranlib -INCLUDES=-I. -Ilibvncauth -Iinclude -# -Iinclude/X11 -Iinclude/Xserver -VNCAUTHLIB=-Llibvncauth -lvncauth +INCLUDES=-I. -Iinclude +VNCAUTHLIB= VNCSERVERLIB=-L. -lvncserver -lz -ljpeg # These two lines enable useage of PThreads @@ -21,15 +20,15 @@ OSX_LIBS = -framework ApplicationServices -framework Carbon SOURCES=main.c rfbserver.c miregion.c auth.c sockets.c xalloc.c \ stats.c corre.c hextile.c rre.c translate.c cutpaste.c \ - zlib.c tight.c httpd.c cursor.o + zlib.c tight.c httpd.c cursor.o \ + d3des.c vncauth.c OBJS=main.o rfbserver.o miregion.o auth.o sockets.o xalloc.o \ stats.o corre.o hextile.o rre.o translate.o cutpaste.o \ - zlib.o tight.o httpd.o cursor.o + zlib.o tight.o httpd.o cursor.o \ + d3des.o vncauth.o all: example pnmshow storepasswd -$(OBJS): rfb.h - install_OSX: OSXvnc-server cp OSXvnc-server storepasswd ../OSXvnc/build/OSXvnc.app/Contents/MacOS @@ -40,27 +39,24 @@ libvncserver.a: $(OBJS) $(AR) cru $@ $(OBJS) $(RANLIB) $@ -example: example.o libvncauth/libvncauth.a libvncserver.a +example: example.o libvncserver.a $(CC) -o example example.o $(LIBS) -pnmshow: pnmshow.o libvncauth/libvncauth.a libvncserver.a +pnmshow: pnmshow.o libvncserver.a $(CC) -o pnmshow pnmshow.o $(LIBS) -OSXvnc-server: mac.o libvncauth/libvncauth.a libvncserver.a +OSXvnc-server: mac.o libvncserver.a $(CC) -o OSXvnc-server mac.o $(LIBS) $(OSX_LIBS) -storepasswd: storepasswd.o libvncauth/libvncauth.a - $(CC) -o storepasswd storepasswd.o $(VNCAUTHLIB) - -libvncauth/libvncauth.a: - (cd libvncauth; make) +storepasswd: storepasswd.o d3des.o vncauth.o + $(CC) -o storepasswd storepasswd.o d3des.o vncauth.o clean: - rm -f $(OBJS) *~ core "#"* *.bak *.orig storepasswd.o *.a example.o \ - libvncauth/*.o libvncauth/*~ libvncauth/*.a + rm -f $(OBJS) *~ core "#"* *.bak *.orig storepasswd.o *.a $(OBJS) + realclean: clean - rm -f OSXvnc-server storepasswd + rm -f OSXvnc-server storepasswd example pnmshow depend: $(CC) -M $(INCLUDES) $(SOURCES) >.depend diff --git a/classes/vncviewer.jar b/classes/vncviewer.jar index 6ae627d32dc867ebfda96384ca812885084e4595..993613a3fa673f7ce04b08d317510376ac7f126c 100644 GIT binary patch delta 12507 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 diff --git a/rfb.h b/rfb.h index 8f5a1c8..8c03a22 100644 --- a/rfb.h +++ b/rfb.h @@ -49,7 +49,6 @@ int max(int,int); #include #include -#include #include #ifdef HAVE_PTHREADS #include @@ -224,6 +223,18 @@ typedef void (*rfbTranslateFnType)(char *table, rfbPixelFormat *in, int width, int height); +/* + * vncauth.h - describes the functions provided by the vncauth library. + */ + +#define MAXPWLEN 8 +#define CHALLENGESIZE 16 + +extern int vncEncryptAndStorePasswd(char *passwd, char *fname); +extern char *vncDecryptPasswdFromFile(char *fname); +extern void vncRandomBytes(unsigned char *bytes); +extern void vncEncryptBytes(unsigned char *bytes, char *passwd); + /* region stuff */ typedef struct BoxRec { diff --git a/storepasswd.c b/storepasswd.c index 6825d0d..1470e4d 100644 --- a/storepasswd.c +++ b/storepasswd.c @@ -20,7 +20,7 @@ */ #include -#include "vncauth.h" +#include "rfb.h" void usage(void) {