⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 betaftpd_complete.patch

📁 linux下编译交叉工具链的工具源码
💻 PATCH
📖 第 1 页 / 共 5 页
字号:
--- /dev/null	2002-09-13 15:08:32.000000000 -0700+++ ptxdist-testing/rules/betaftpd.make	2003-10-22 14:20:37.000000000 -0700@@ -0,0 +1,141 @@+# -*-makefile-*-+# $Id: template,v 1.1.1.2 2003/10/09 17:02:19 bet-frogger Exp $+#+# Copyright (C) 2003 by Ixia Corporation, by Milan Bobde+#          +# See CREDITS for details about who has contributed to this project.+#+# For further information about the PTXdist project and license conditions+# see the README file.+#++#+# We provide this package+#+ifdef PTXCONF_BETAFTPD+PACKAGES += betaftpd+endif++#+# Paths and names+#+BETAFTPD_VERSION	= 0.0.8pre17+BETAFTPD		= betaftpd-$(BETAFTPD_VERSION)+BETAFTPD_SUFFIX	= tar.gz+#BETAFTPD_URL		= http://dank2.ixiacom.com/$(BETAFTPD).$(BETAFTPD_SUFFIX)+BETAFTPD_URL		= http://betaftpd.sourceforge.net/download/$(BETAFTPD).$(BETAFTPD_SUFFIX)+BETAFTPD_SOURCE	= $(SRCDIR)/$(BETAFTPD).$(BETAFTPD_SUFFIX)+BETAFTPD_DIR		= $(BUILDDIR)/$(BETAFTPD)++# ----------------------------------------------------------------------------+# Get+# ----------------------------------------------------------------------------++betaftpd_get: $(STATEDIR)/betaftpd.get++betaftpd_get_deps	=  $(BETAFTPD_SOURCE)++$(STATEDIR)/betaftpd.get: $(betaftpd_get_deps)+	@$(call targetinfo, $@)+#	@$(call get_patches, $(BETAFTPD))+	touch $@++$(BETAFTPD_SOURCE):+	@$(call targetinfo, $@)+	@$(call get, $(BETAFTPD_URL))++# ----------------------------------------------------------------------------+# Extract+# ----------------------------------------------------------------------------++betaftpd_extract: $(STATEDIR)/betaftpd.extract++betaftpd_extract_deps	=  $(STATEDIR)/betaftpd.get++$(STATEDIR)/betaftpd.extract: $(betaftpd_extract_deps)+	@$(call targetinfo, $@)+	@$(call clean, $(BETAFTPD_DIR))+	@$(call extract, $(BETAFTPD_SOURCE))+	@$(call patchin, $(BETAFTPD))+	touch $@++# ----------------------------------------------------------------------------+# Prepare+# ----------------------------------------------------------------------------++betaftpd_prepare: $(STATEDIR)/betaftpd.prepare++#+# dependencies+#+betaftpd_prepare_deps =  \+	$(STATEDIR)/betaftpd.extract \+	$(STATEDIR)/virtual-xchain.install++BETAFTPD_PATH	=  PATH=$(CROSS_PATH)+BETAFTPD_ENV 	=  $(CROSS_ENV)+#BETAFTPD_ENV	+=+++#+# autoconf+#+BETAFTPD_AUTOCONF	=  --prefix=$(CROSS_LIB_DIR)+BETAFTPD_AUTOCONF	+= --build=$(GNU_HOST)+BETAFTPD_AUTOCONF	+= --host=$(PTXCONF_GNU_TARGET)++#BETAFTPD_AUTOCONF	+= ++$(STATEDIR)/betaftpd.prepare: $(betaftpd_prepare_deps)+	@$(call targetinfo, $@)+	@$(call clean, $(BETAFTPD_DIR)/config.cache)+	cd $(BETAFTPD_DIR) && \+		$(BETAFTPD_PATH) $(BETAFTPD_ENV) \+		./configure $(BETAFTPD_AUTOCONF)+	touch $@++# ----------------------------------------------------------------------------+# Compile+# ----------------------------------------------------------------------------++betaftpd_compile: $(STATEDIR)/betaftpd.compile++betaftpd_compile_deps =  $(STATEDIR)/betaftpd.prepare++$(STATEDIR)/betaftpd.compile: $(betaftpd_compile_deps)+	@$(call targetinfo, $@)+	$(BETAFTPD_PATH) make -C $(BETAFTPD_DIR)+	touch $@++# ----------------------------------------------------------------------------+# Install+# ----------------------------------------------------------------------------++betaftpd_install: $(STATEDIR)/betaftpd.install++$(STATEDIR)/betaftpd.install: $(STATEDIR)/betaftpd.compile+	@$(call targetinfo, $@)+	$(BETAFTPD_PATH) make -C $(BETAFTPD_DIR) install+	touch $@++# ----------------------------------------------------------------------------+# Target-Install+# ----------------------------------------------------------------------------++betaftpd_targetinstall: $(STATEDIR)/betaftpd.targetinstall++betaftpd_targetinstall_deps	=  $(STATEDIR)/betaftpd.install++$(STATEDIR)/betaftpd.targetinstall: $(betaftpd_targetinstall_deps)+	@$(call targetinfo, $@)+	touch $@++# ----------------------------------------------------------------------------+# Clean+# ----------------------------------------------------------------------------++betaftpd_clean:+	rm -rf $(STATEDIR)/betaftpd.*+	rm -rf $(BETAFTPD_DIR)++# vim: syntax=make--- ptxdist-testing/config/Config.in.old	2003-10-23 13:43:25.000000000 -0700+++ ptxdist-testing/config/Config.in	2003-10-22 16:20:03.000000000 -0700@@ -953,6 +953,16 @@  endmenu +# ----------------------------------------------------------------------------++menu	"betaftpd            "++config BETAFTPD+	bool+	prompt "betaftpd"+endmenu+# ----------------------------------------------------------------------------+ menu	"nfs-utils           "  config	NFSUTILS--- /dev/null	2002-09-13 15:08:32.000000000 -0700+++ ptxdist-testing/patches-local/betaftpd-0.0.8pre17/generic/betaftpd-rn2.patch	2003-10-23 13:34:15.000000000 -0700@@ -0,0 +1,91 @@+--- betaftpd-0.0.8pre17/ftpd.h	2003-10-23 13:31:31.000000000 -0700++++ betaftpd-0.0.8pre17new/ftpd.h	2003-10-23 12:15:20.000000000 -0700+@@ -79,7 +79,10 @@+ #endif+ + #include "rn.h"+-++/* This file is included to include the macro DPRINT++ * which expands to nothing++ */++#include "rn_dprint.h"+ struct list_options {+ 	int recursive;+ 	int long_listing;+--- betaftpd-0.0.8pre17/Makefile.in	2000-09-30 15:42:50.000000000 -0700++++ betaftpd-0.0.8pre17new/Makefile.in	2003-10-23 13:23:39.000000000 -0700+@@ -30,7 +30,7 @@+ dcache.o:	@srcdir@/dcache.c @srcdir@/dcache.h config.h+ + betaftpd: $(OBJS)+-	$(CC) $(REAL_CFLAGS) $(LIBS) -o betaftpd $(OBJS)++	$(CC) $(REAL_CFLAGS) -o betaftpd $(OBJS) $(LIBS) + assembly-files: $(ASSMS)+ betaftpd-from-assembly-files: $(ASSMS)+ 	$(CC) $(LIBS) -o betaftpd -Wl,--sort-common $(ASSMS)+--- betaftpd-0.0.8pre17/configure.in	2000-09-30 15:42:50.000000000 -0700++++ betaftpd-0.0.8pre17new/configure.in	2003-10-23 13:32:38.000000000 -0700+@@ -352,4 +352,5 @@+ 	fi+ fi+ ++AC_CHECK_HEADERS(sys/epoll.h,LIBS="$LIBS -lrn -lepoll", LIBS="$LIBS -lrn")+ AC_OUTPUT(Makefile)+--- betaftpd-0.0.8pre17/configure	2000-09-30 15:42:50.000000000 -0700++++ betaftpd-0.0.8pre17new/configure	2003-10-23 13:32:55.000000000 -0700+@@ -2719,6 +2719,47 @@+ 	fi+ fi+ ++for ac_hdr in sys/epoll.h++do++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6++echo "configure:2727: checking for $ac_hdr" >&5++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then++  echo $ac_n "(cached) $ac_c" 1>&6++else++  cat > conftest.$ac_ext <<EOF++#line 2732 "configure"++#include "confdefs.h"++#include <$ac_hdr>++EOF++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"++{ (eval echo configure:2737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`++if test -z "$ac_err"; then++  rm -rf conftest*++  eval "ac_cv_header_$ac_safe=yes"++else++  echo "$ac_err" >&5++  echo "configure: failed program was:" >&5++  cat conftest.$ac_ext >&5++  rm -rf conftest*++  eval "ac_cv_header_$ac_safe=no"++fi++rm -f conftest*++fi++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then++  echo "$ac_t""yes" 1>&6++    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`++  cat >> confdefs.h <<EOF++#define $ac_tr_hdr 1++EOF++ LIBS="$LIBS -lrn -lepoll"++else++  echo "$ac_t""no" 1>&6++LIBS="$LIBS -lrn"++fi++done+++ trap '' 1 2 15+ cat > confcache <<\EOF+ # This file is a shell script that caches the results of configure+--- betaftpd-0.0.8pre17/configure.in	2000-09-30 15:42:50.000000000 -0700++++ betaftpd-0.0.8pre17new/configure.in	2003-10-23 13:32:38.000000000 -0700+@@ -352,4 +352,5 @@+ 	fi+ fi+ ++AC_CHECK_HEADERS(sys/epoll.h,LIBS="$LIBS -lrn -lepoll", LIBS="$LIBS -lrn")+ AC_OUTPUT(Makefile)--- /dev/null	2002-09-13 15:08:32.000000000 -0700+++ ptxdist-testing/patches-local/betaftpd-0.0.8pre17/generic/betaftpd-rn.patch	2003-10-20 14:00:02.000000000 -0700@@ -0,0 +1,1946 @@+diff -ur betaftpd-0.0.8pre17/cmds.c betaftpd/cmds.c+--- betaftpd-0.0.8pre17/cmds.c	2003-07-29 09:40:48.000000000 -0700++++ betaftpd/cmds.c	2003-07-29 09:33:12.000000000 -0700+@@ -136,69 +136,63 @@+ extern struct dcache *first_dcache;+ #endif+ +-#if HAVE_POLL+-extern struct pollfd fds[];+-#else+-extern fd_set master_fds, master_send_fds;+-#endif+-+ struct handler {+ 	char cmd_name[6];+ 	char add_cmlen;		/* =1 if the command takes an argument */+ 	int (*callback)(struct conn * const);+-	char min_auth;++	enum conn_state min_auth;+ #if !WANT_NONROOT+ 	char do_setuid;		/* =1 if root is not *really* needed */+ #endif+ };+ + static const struct handler handler_table[] = {+-	{ "user ", 1, cmd_user, 0	NO_SETUID },+-	{ "pass ", 1, cmd_pass, 1	NO_SETUID },+-	{ "retr ", 1, cmd_retr, 3	DO_SETUID },+-	{ "acct ", 1, cmd_acct, 0	NO_SETUID },+-	{ "port ", 1, cmd_port, 3	DO_SETUID },+-	{ "pasv" , 0, cmd_pasv, 3	DO_SETUID },+-	{ "pwd"  , 0, cmd_pwd,  3	DO_SETUID },+-	{ "cwd " , 1, cmd_cwd,  3	DO_SETUID },+-	{ "cdup" , 0, cmd_cdup, 3	DO_SETUID },+-	{ "rest ", 1, cmd_rest, 3	DO_SETUID },+-	{ "list" , 0, cmd_list, 3	DO_SETUID },+-	{ "nlst" , 0, cmd_nlst, 3	DO_SETUID },+-	{ "type ", 1, cmd_type, 3	DO_SETUID },+-	{ "mode ", 1, cmd_mode, 3	DO_SETUID },+-	{ "stru ", 1, cmd_stru, 3	DO_SETUID },+-	{ "size ", 1, cmd_size, 3	DO_SETUID },+-	{ "mdtm ", 1, cmd_mdtm, 3	DO_SETUID },+-	{ "abor" , 0, cmd_abor, 3	DO_SETUID },+-	{ "dele ", 1, cmd_dele, 3	DO_SETUID },+-	{ "rnfr ", 1, cmd_rnfr, 3	DO_SETUID },+-	{ "rnto ", 1, cmd_rnto, 3	DO_SETUID },+-	{ "mkd " , 1, cmd_mkd,  3	DO_SETUID },+-	{ "rmd " , 1, cmd_rmd,  3	DO_SETUID },+-	{ "allo ", 1, cmd_allo, 3	DO_SETUID },+-	{ "stat" , 0, cmd_stat, 0	NO_SETUID },+-	{ "noop" , 0, cmd_noop, 0	DO_SETUID },+-	{ "syst" , 0, cmd_syst, 0	DO_SETUID },+-	{ "help" , 0, cmd_help, 0	NO_SETUID },+-	{ "quit" , 0, cmd_quit, 0	DO_SETUID },+-	{ "rein" , 0, cmd_rein, 0	DO_SETUID },++	{ "user ", 1, cmd_user, CONN_STATE_INIT 	NO_SETUID },++	{ "pass ", 1, cmd_pass, CONN_STATE_WAIT_USER	NO_SETUID },++	{ "retr ", 1, cmd_retr, CONN_STATE_READY	DO_SETUID },++	{ "acct ", 1, cmd_acct, CONN_STATE_INIT 	NO_SETUID },++	{ "port ", 1, cmd_port, CONN_STATE_READY	DO_SETUID },++	{ "pasv" , 0, cmd_pasv, CONN_STATE_READY	DO_SETUID },++	{ "pwd"  , 0, cmd_pwd,  CONN_STATE_READY	DO_SETUID },++	{ "cwd " , 1, cmd_cwd,  CONN_STATE_READY	DO_SETUID },++	{ "cdup" , 0, cmd_cdup, CONN_STATE_READY	DO_SETUID },++	{ "rest ", 1, cmd_rest, CONN_STATE_READY	DO_SETUID },++	{ "list" , 0, cmd_list, CONN_STATE_READY	DO_SETUID },++	{ "nlst" , 0, cmd_nlst, CONN_STATE_READY	DO_SETUID },++	{ "type ", 1, cmd_type, CONN_STATE_READY	DO_SETUID },++	{ "mode ", 1, cmd_mode, CONN_STATE_READY	DO_SETUID },++	{ "stru ", 1, cmd_stru, CONN_STATE_READY	DO_SETUID },++	{ "size ", 1, cmd_size, CONN_STATE_READY	DO_SETUID },++	{ "mdtm ", 1, cmd_mdtm, CONN_STATE_READY	DO_SETUID },++	{ "abor" , 0, cmd_abor, CONN_STATE_READY	DO_SETUID },++	{ "dele ", 1, cmd_dele, CONN_STATE_READY	DO_SETUID },++	{ "rnfr ", 1, cmd_rnfr, CONN_STATE_READY	DO_SETUID },++	{ "rnto ", 1, cmd_rnto, CONN_STATE_READY	DO_SETUID },++	{ "mkd " , 1, cmd_mkd,  CONN_STATE_READY	DO_SETUID },++	{ "rmd " , 1, cmd_rmd,  CONN_STATE_READY	DO_SETUID },++	{ "allo ", 1, cmd_allo, CONN_STATE_READY	DO_SETUID },++	{ "stat" , 0, cmd_stat, CONN_STATE_INIT 	NO_SETUID },++	{ "noop" , 0, cmd_noop, CONN_STATE_INIT 	DO_SETUID },++	{ "syst" , 0, cmd_syst, CONN_STATE_INIT 	DO_SETUID },++	{ "help" , 0, cmd_help, CONN_STATE_INIT 	NO_SETUID },++	{ "quit" , 0, cmd_quit, CONN_STATE_INIT 	DO_SETUID },++	{ "rein" , 0, cmd_rein, CONN_STATE_INIT 	DO_SETUID },+ + 	/* deprecated forms */+-	{ "xcup" , 0, cmd_cdup, 3	DO_SETUID },+-	{ "xcwd ", 1, cmd_cwd,  3	DO_SETUID },+-	{ "xpwd" , 0, cmd_pwd,  3	DO_SETUID },+-	{ "xmkd ", 1, cmd_mkd,  3	DO_SETUID },+-	{ "xrmd ", 1, cmd_rmd,  3	DO_SETUID },++	{ "xcup" , 0, cmd_cdup, CONN_STATE_READY	DO_SETUID },++	{ "xcwd ", 1, cmd_cwd,  CONN_STATE_READY	DO_SETUID },++	{ "xpwd" , 0, cmd_pwd,  CONN_STATE_READY	DO_SETUID },++	{ "xmkd ", 1, cmd_mkd,  CONN_STATE_READY	DO_SETUID },++	{ "xrmd ", 1, cmd_rmd,  CONN_STATE_READY	DO_SETUID },+ #if WANT_UPLOAD+-	{ "stor ", 1, cmd_stor, 3	DO_SETUID },+-	{ "appe ", 1, cmd_appe, 3	DO_SETUID },++	{ "stor ", 1, cmd_stor, CONN_STATE_READY	DO_SETUID },++	{ "appe ", 1, cmd_appe, CONN_STATE_READY	DO_SETUID },+ #endif+ #if DOING_PROFILING+ #warning Use DOING_PROFILING with caution, and NEVER on a production server! :-)+-	{ "exit",  0, cmd_exit, 0	NO_SETUID },++	{ "exit",  0, cmd_exit, CONN_STATE_INIT 	NO_SETUID },+ #endif+-	{ ""    ,  0, NULL,	0	NO_SETUID }++	{ ""    ,  0, NULL,	CONN_STATE_INIT 	NO_SETUID }+ };+ + /*+@@ -266,10 +260,10 @@+ 		strcpy(c->username, "ftp");+ 	}+        	if (strcasecmp(c->username, "ftp") == 0) {+-		c->auth = 1;++		conn_GOTO(c,CONN_STATE_WAIT_USER);+ 	       	return numeric(c, 331, "Login OK, send password (your e-mail).");+ 	} else {+-		c->auth = 2;++		conn_GOTO(c,CONN_STATE_WAIT_PASS);+ 		return numeric(c, 331, "Password required for %s.", c->username);+ 	}+ 	/*notreached*/+@@ -301,38 +295,38 @@+ #endif+        	+ 	if (p == NULL) {+-		c->auth = 0;++		conn_GOTO(c,CONN_STATE_INIT);+ 	} else {+ 		c->uid = p->pw_uid;+ 		strncpy(c->curr_dir, p->pw_dir, 254);+ 		c->curr_dir[254] = 0;+ 	}+ +-       	if (c->auth == 1) {++       	if (c->auth == CONN_STATE_WAIT_USER) {+ 		if (c->curr_dir[strlen(c->curr_dir) - 1] != '/') {+ 			strcat(c->curr_dir, "/");+ 		}+ 		strcpy(c->root_dir, c->curr_dir);	+-		c->auth = 3;+-	} else if (c->auth != 0) {++		conn_GOTO(c,CONN_STATE_READY);++	} else if (c->auth != CONN_STATE_INIT) {+ 		strcpy(c->root_dir, "/");+ 		if (strcmp(crypt(c->recv_buf, p->pw_passwd), p->pw_passwd) != 0+ #if WANT_SHADOW && HAVE_SHADOW_H+ 		    && (s == NULL || strcmp(crypt(c->recv_buf, s->sp_pwdp), s->sp_pwdp) != 0)+ #endif+ 		) {+-			c->auth = 0;++			conn_GOTO(c,CONN_STATE_INIT);+ 		} else {+-			c->auth = 3;++			conn_GOTO(c,CONN_STATE_READY);+ 		}+ 	}+ #endif /* !WANT_NONROOT */+ + 	/* root should not be allowed to FTP */+ 	if (c->uid == 0) {+-		c->auth = 0;++		conn_GOTO(c,CONN_STATE_INIT);+ 	}+-	if (c->auth == 0) {++	if (c->auth == CONN_STATE_INIT) {+ 		return numeric(c, 530, "Login incorrect.");+ 	} else {+ #if WANT_MESSAGE+@@ -375,7 +369,7 @@+ 	struct ftran *f;+ 	struct sockaddr_in sin;+     +-	if ((c->transfer != NULL) && (c->transfer->state >= 4)) {++	if ((c->transfer != NULL) && (c->transfer->state == FTRAN_STATE_TRANSFERING)) {+ 		return numeric(c, 500, "Sorry, only one transfer at a time.");+ 	}+ +@@ -384,6 +378,8 @@+ + 	destroy_ftran(c->transfer);+ 	c->transfer = f = alloc_new_ftran(sock, c);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -