aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2005-10-26 21:46:48 +0000
committerAris Adamantiadis <aris@0xbadc0de.be>2005-10-26 21:46:48 +0000
commitcddc5d6889f252b2cde5403f16063b640864f55d (patch)
tree7daa335f71712c3ddbb121b3d090943d0a001c44
parent7b416e5c520c4dea21e242733d64672f304fdbd3 (diff)
downloadlibssh-cddc5d6889f252b2cde5403f16063b640864f55d.tar.gz
libssh-cddc5d6889f252b2cde5403f16063b640864f55d.tar.xz
libssh-cddc5d6889f252b2cde5403f16063b640864f55d.zip
norbert's Makefile.in and crypt.c patches
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@48 7dcaeef0-15fb-0310-b436-a5af3365683c
-rw-r--r--Makefile.in47
-rw-r--r--libssh/crypt.c8
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){