>>>>> Sergey A Osokin <[EMAIL PROTECTED]> writes:
SAO> On Tue, Feb 25, 2003 at 05:57:03PM +0300, Dmitry Morozovsky wrote:
>> On Fri, 21 Feb 2003, Michael Kazakov wrote:
>>
MK> IK> Только изменением этого поля в ftp_utilc.c и перекомпиляцией.
MK>
MK> Спасибо. А могу ли я выразить пожелание о соответствующем ключике в
MK> конфиге? :)
>>
>> Хе ;) Как говорят фришники, your patches are always welcome ;-)
SAO> Немного offtopic, но так говорят не только "фришники", IMHO это
SAO> вообще UNIX-WAY :-)
В общем, если что не так, то сами виноваты :) Use absolutely free, at
your own risk.
--
WBR, Michael Kazakov.
diff -cr oops-1.5.22/src/extern.h oops-1.5.22.new/src/extern.h
*** oops-1.5.22/src/extern.h Ср Янв 23 17:11:25 2002
--- oops-1.5.22.new/src/extern.h Сб Мар 1 20:33:48 2003
***************
*** 120,125 ****
--- 120,126 ----
extern char domain_name[MAXHOSTNAMELEN+1];
extern char host_name[MAXHOSTNAMELEN+1];
extern char *oops_user;
+ extern char *ftp_passw;
extern char *oops_chroot;
extern uid_t oops_uid;
extern int insert_via;
diff -cr oops-1.5.22/src/ftp_utils.c oops-1.5.22.new/src/ftp_utils.c
*** oops-1.5.22/src/ftp_utils.c Вт Май 29 10:29:25 2001
--- oops-1.5.22.new/src/ftp_utils.c Сб Мар 1 20:32:20 2003
***************
*** 1203,1209 ****
r = writet(server_so, "\r\n", 2, READ_ANSW_TIMEOUT);
} else {
char *pass = NULL;
! if ( host_name[0] && strchr(host_name, '.') ) {
pass = malloc(5 + 5 + strlen(host_name) + 3);
sprintf(pass, "PASS [EMAIL PROTECTED]", host_name);
} else {
--- 1203,1212 ----
r = writet(server_so, "\r\n", 2, READ_ANSW_TIMEOUT);
} else {
char *pass = NULL;
! if (ftp_passw) {
! pass = malloc(5 + strlen(ftp_passw) + 3);
! sprintf(pass, "PASS %s\r\n", ftp_passw);
! } else if ( host_name[0] && strchr(host_name, '.') ) {
pass = malloc(5 + 5 + strlen(host_name) + 3);
sprintf(pass, "PASS [EMAIL PROTECTED]", host_name);
} else {
Common subdirectories: oops-1.5.22/src/lib and oops-1.5.22.new/src/lib
Common subdirectories: oops-1.5.22/src/modules and oops-1.5.22.new/src/modules
diff -cr oops-1.5.22/src/oops.c oops-1.5.22.new/src/oops.c
*** oops-1.5.22/src/oops.c Пн Фев 4 10:22:07 2002
--- oops-1.5.22.new/src/oops.c Сб Мар 1 20:59:52 2003
***************
*** 149,154 ****
--- 149,155 ----
char domain_name[MAXHOSTNAMELEN+1];
char host_name[MAXHOSTNAMELEN+1];
char *oops_user;
+ char *ftp_passw;
char *oops_chroot;
uid_t oops_uid = -1;
int insert_via;
***************
*** 627,632 ****
--- 628,634 ----
always_check_freshness_acl = NULL;
stop_cache_acl = NULL;
oops_user = NULL;
+ ftp_passw = NULL;
oops_chroot = NULL;
bind_acl_list = NULL;
one_second_proxy_requests = 0;
***************
*** 738,743 ****
--- 740,749 ----
free(oops_user);
oops_user = NULL;
}
+ if ( ftp_passw ) {
+ free(ftp_passw);
+ ftp_passw = NULL;
+ }
if ( oops_chroot ) {
free(oops_chroot);
oops_chroot = NULL;
diff -cr oops-1.5.22/src/oops.cfg.in oops-1.5.22.new/src/oops.cfg.in
*** oops-1.5.22/src/oops.cfg.in Ср Янв 23 18:34:39 2002
--- oops-1.5.22.new/src/oops.cfg.in Сб Мар 1 21:17:17 2003
***************
*** 179,184 ****
--- 179,189 ----
#connect-from proxy.paco.net
##
+ # While connecting to public FTP resource, use this string as password
+ ##
+ #anon_ftp_passw [EMAIL PROTECTED]
+
+ ##
# ACLs - currently: urlregex, urlpath, usercharset
# port, dstdom, dstdom_regex, src_ip, time
# each acl can be loaded from file.
diff -cr oops-1.5.22/src/parser.l oops-1.5.22.new/src/parser.l
*** oops-1.5.22/src/parser.l Ср Янв 23 17:57:00 2002
--- oops-1.5.22.new/src/parser.l Сб Мар 1 20:25:46 2003
***************
*** 105,110 ****
--- 105,113 ----
<INITIAL>[Uu][Ss][Ee][Rr][Ii][Dd] {
return(USERID_T);
}
+ <INITIAL>[Aa][Nn][Oo][Nn]_[Ff][Tt][Pp]_[Pp][Aa][Ss][Ss][Ww] {
+ return(FTP_PASSW_T);
+ }
<INITIAL>[Cc][Hh][Rr][Oo][Oo][Tt] {
return(CHROOT_T);
}
diff -cr oops-1.5.22/src/parser.y oops-1.5.22.new/src/parser.y
*** oops-1.5.22/src/parser.y Ср Янв 23 17:55:27 2002
--- oops-1.5.22.new/src/parser.y Сб Мар 1 20:46:51 2003
***************
*** 20,25 ****
--- 20,26 ----
%token PEER_ACCESS_T PER_SESS_BW_T PER_IP_BW_T PER_IP_CONN_T CONN_FROM_T
%token ALWAYS_CHECK_FRESHNESS_ACL_T PEER_DOWN_TIMEOUT_T
%token EXPIRE_TIME_T SWAP_ADVANCE_T FETCH_WITH_CLIENT_SPEED_T
+ %token FTP_PASSW_T
%type <NETPTR> network_list network
%type <STRPTR> group_name string module_name
***************
*** 141,146 ****
--- 142,148 ----
| acl_deny
| stop_cache_acl
| userid
+ | anon_ftp_passw
| chroot
| bind_acl
| blacklist
***************
*** 212,217 ****
--- 214,223 ----
oops_user = $2;
}
+ anon_ftp_passw : FTP_PASSW_T string L_EOS {
+ ftp_passw = $2;
+ }
+
chroot : CHROOT_T string L_EOS {
oops_chroot = $2;
}