diff options
-rw-r--r-- | Makefile.in | 47 | ||||
-rw-r--r-- | libssh/crypt.c | 8 |
2 files changed, 37 insertions, 18 deletions
diff --git a/Makefile.in b/Makefile.in index b95dd68..dbca170 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ SHELL = /bin/sh VPATH = @srcdir@ -subdirs = libssh/ sftp_server/ +subdirs = libssh sftp_server top_srcdir = @top_srcdir@ top_builddir = . srcdir = @srcdir@ @@ -14,26 +14,41 @@ libdir = $(prefix)/lib/ mandir = $(prefix)/man/man1 CC = @CC@ -CFLAGS = @CFLAGS@ -Iinclude/ -Wall +CFLAGS = @CFLAGS@ -Iinclude -Wall LDFLAGS = @LDFLAGS@ -LIBS = -lssh -Llibssh/ +LIBS = -lssh -Llibssh INSTALL = @INSTALL@ -LN= @LN_S@ -LIBTOOL= @LIBTOOL@ -OBJECTS= sample.o samplesshd.o -VERSION=0.12-dev -DISTLIB=libssh-$(VERSION) -CONFIG=include/libssh/config.h -all: $(CONFIG) $(OBJECTS) +LN = @LN_S@ +LIBTOOL = @LIBTOOL@ +OBJECTS = sample.o samplesshd.o +APPS = samplessh samplesftp samplesshd +VERSION = 0.12-dev +DISTLIB = libssh-$(VERSION) +CONFIG = include/libssh/config.h + +.PHONY: all +all: $(CONFIG) SUBDIRS $(OBJECTS) $(APPS) + +.PHONY: SUBDIRS +SUBDIRS: @for dir in ${subdirs}; do \ (cd $$dir && $(MAKE) all) \ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" - $(LIBTOOL) --mode=link $(CC) -o samplessh sample.o $(LDFLAGS) $(LIBS) - $(LN) -sf samplessh samplesftp - $(LIBTOOL) --mode=link $(CC) -o samplesshd samplesshd.o $(LDFLAGS) $(LIBS) + +% : %.o + $(LIBTOOL) --mode=link $(CC) -o $@ $< $(LDFLAGS) $(LIBS) + +samplessh: sample.o + $(LIBTOOL) --mode=link $(CC) -o $@ $< $(LDFLAGS) $(LIBS) + +samplesftp: samplessh + $(LN) -f samplessh samplesftp + $(CONFIG): $(LN) -f ../../config.h $(CONFIG) + +.PHONY: dist dist: rm -fr $(DISTLIB) mkdir $(DISTLIB) @@ -52,6 +67,8 @@ dist: cp *.c COPYING README AUTHORS CHANGELOG $(DISTLIB)/ cp doc/* $(DISTLIB)/doc/ tar czf $(DISTLIB).tgz $(DISTLIB)/ + +.PHONY: install install: all @for dir in ${subdirs}; do \ (cd $$dir && $(MAKE) install) \ @@ -65,6 +82,8 @@ install: all $(INSTALL) include/libssh/server.h $(incldir)/libssh/ $(INSTALL) include/libssh/ssh2.h $(incldir)/libssh/ $(INSTALL) include/libssh/ssh1.h $(incldir)/libssh/ + +.PHONY: clean clean: $(LIBTOOL) --mode=clean rm -f *~ *.o samplessh samplesftp samplesshd include/libssh/config.h @for dir in ${subdirs}; do \ @@ -72,10 +91,10 @@ clean: || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" +.PHONY: distclean distclean: clean @for dir in ${subdirs}; do \ (cd $$dir && $(MAKE) distclean) \ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" rm -f Makefile config.h config.status config.cache config.log libtool - diff --git a/libssh/crypt.c b/libssh/crypt.c index e118f6a..22e7a3f 100644 --- a/libssh/crypt.c +++ b/libssh/crypt.c @@ -36,12 +36,12 @@ MA 02111-1307, USA. */ #include "libssh/crypto.h" u32 packet_decrypt_len(SSH_SESSION *session, char *crypted){ - u32 *decrypted; + u32 decrypted; if(session->current_crypto) packet_decrypt(session,crypted,session->current_crypto->in_cipher->blocksize); - decrypted=(u32 *)crypted; - ssh_say(3,"size decrypted : %lx\n",ntohl(*decrypted)); - return ntohl(*decrypted); + memcpy(&decrypted,crypted,sizeof(decrypted)); + ssh_say(3,"size decrypted : %lx\n",ntohl(decrypted)); + return ntohl(decrypted); } int packet_decrypt(SSH_SESSION *session, void *data,u32 len){ |