From: <cv...@li...> - 2003-04-16 15:33:26
|
Changes in directory wzdftpd/src: wzd_site.c updated: 1.18 -> 1.19 wzd_site_user.c updated: 1.11 -> 1.12 wzd_site_user.h updated: 1.5 -> 1.6 --- Log message: Added 'site color' command --- Diffs of the changes: Index: wzdftpd/src/wzd_site.c diff -u wzdftpd/src/wzd_site.c:1.18 wzdftpd/src/wzd_site.c:1.19 --- wzdftpd/src/wzd_site.c:1.18 Tue Apr 15 15:27:40 2003 +++ wzdftpd/src/wzd_site.c Wed Apr 16 17:33:14 2003 @@ -942,6 +942,7 @@ if (site_command_add(&config->site_list,"CHPASS",&do_site_chpass)) return 1; if (site_command_add(&config->site_list,"CHRATIO",&do_site_chratio)) return 1; /* do_site_close ? */ + if (site_command_add(&config->site_list,"COLOR",&do_site_color)) return 1; if (site_command_add(&config->site_list,"DELIP",&do_site_delip)) return 1; if (site_command_add(&config->site_list,"DELUSER",&do_site_deluser)) return 1; if (site_command_add(&config->site_list,"FLAGS",&do_site_flags)) return 1; Index: wzdftpd/src/wzd_site_user.c diff -u wzdftpd/src/wzd_site_user.c:1.11 wzdftpd/src/wzd_site_user.c:1.12 --- wzdftpd/src/wzd_site_user.c:1.11 Tue Apr 15 15:27:40 2003 +++ wzdftpd/src/wzd_site_user.c Wed Apr 16 17:33:14 2003 @@ -569,6 +569,44 @@ return 0; } + +/** site color: toggle color user (for self only) + * + * change color + */ +int do_site_color(char *command_line, wzd_context_t * context) +{ + wzd_user_t * me; + char * src_ptr, *dst_ptr; + char new_flags[MAX_FLAGS_NUM]; + int i, found, ret; + + me = GetUserByID(context->userid); + + found=0; + src_ptr = me->flags; + dst_ptr = new_flags; + for (i=0; *src_ptr && i<MAX_FLAGS_NUM; i++,src_ptr++,dst_ptr++) + { + if ( *src_ptr==FLAG_COLOR) { found=1; continue; } + *dst_ptr = *src_ptr; + } + if (!found) { + *dst_ptr++ = FLAG_COLOR; + *dst_ptr='\0'; + memcpy(me->flags,new_flags,MAX_FLAGS_NUM); + ret = backend_mod_user("plaintext",me->username,me,_USER_FLAGS); + ret = send_message_with_args(200,context,"color mode ON"); + } else { + *dst_ptr='\0'; + memcpy(me->flags,new_flags,MAX_FLAGS_NUM); + ret = backend_mod_user("plaintext",me->username,me,_USER_FLAGS); + ret = send_message_with_args(200,context,"color mode OFF"); + } + return 0; +} + + void do_site_help_change(wzd_context_t * context) { send_message_raw("501-site change <user> <field> <value>\r\n",context); Index: wzdftpd/src/wzd_site_user.h diff -u wzdftpd/src/wzd_site_user.h:1.5 wzdftpd/src/wzd_site_user.h:1.6 --- wzdftpd/src/wzd_site_user.h:1.5 Mon Apr 7 15:20:39 2003 +++ wzdftpd/src/wzd_site_user.h Wed Apr 16 17:33:14 2003 @@ -35,6 +35,8 @@ int do_site_addip(char *command_line, wzd_context_t * context); int do_site_delip(char *command_line, wzd_context_t * context); +int do_site_color(char *command_line, wzd_context_t * context); + int do_site_chgrp(char *command_line, wzd_context_t * context); int do_site_chratio(char *command_line, wzd_context_t * context); int do_site_give(char *command_line, wzd_context_t * context); |
From: <cv...@li...> - 2003-04-17 12:34:25
|
Changes in directory wzdftpd/src: ls.c updated: 1.11 -> 1.12 --- Log message: Quick and dirty fix for bug on OpenBSD 3.3: LIST command replies as follows: 512 (null) Apr 16 23:46 instead of: 512 Apr 16 23:46 home --- Diffs of the changes: Index: wzdftpd/src/ls.c diff -u wzdftpd/src/ls.c:1.11 wzdftpd/src/ls.c:1.12 --- wzdftpd/src/ls.c:1.11 Wed Apr 9 14:05:49 2003 +++ wzdftpd/src/ls.c Thu Apr 17 14:34:11 2003 @@ -222,6 +222,29 @@ if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && !S_ISREG(st.st_mode)) continue; +#if BSD + { + char buf2[20]; + sprintf(buf2,"%13ld",s.st_size); + sprintf(line,"%c%c%c%c%c%c%c%c%c%c %3d %s %s %s %s %s\r\n", + S_ISDIR(st.st_mode) ? 'd' : S_ISLNK(st.st_mode) ? 'l' : '-', + st.st_mode & S_IRUSR ? 'r' : '-', + st.st_mode & S_IWUSR ? 'w' : '-', + st.st_mode & S_IXUSR ? 'x' : '-', + st.st_mode & S_IRGRP ? 'r' : '-', + st.st_mode & S_IWGRP ? 'w' : '-', + st.st_mode & S_IXGRP ? 'x' : '-', + st.st_mode & S_IROTH ? 'r' : '-', + st.st_mode & S_IWOTH ? 'w' : '-', + st.st_mode & S_IXOTH ? 'x' : '-', + (int)st.st_nlink, + user->username, + "ftp", + buf2, + datestr, + entr->d_name); + } +#else sprintf(line,"%c%c%c%c%c%c%c%c%c%c %3d %s %s %13ld %s %s\r\n", S_ISDIR(st.st_mode) ? 'd' : S_ISLNK(st.st_mode) ? 'l' : '-', st.st_mode & S_IRUSR ? 'r' : '-', @@ -239,6 +262,7 @@ st.st_size, datestr, entr->d_name); +#endif /* if (!callback(sock,context,line)) break;*/ if (list_call_wrapper(sock, context, line, buffer, &buffer_len, callback)) break; |
From: <cv...@li...> - 2003-04-17 14:26:07
|
Changes in directory wzdftpd/src: ls.c updated: 1.12 -> 1.13 --- Log message: Cleaner bugfix for *BSD (off_t is an unsigned long long !) --- Diffs of the changes: Index: wzdftpd/src/ls.c diff -u wzdftpd/src/ls.c:1.12 wzdftpd/src/ls.c:1.13 --- wzdftpd/src/ls.c:1.12 Thu Apr 17 14:34:11 2003 +++ wzdftpd/src/ls.c Thu Apr 17 16:25:54 2003 @@ -222,11 +222,7 @@ if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && !S_ISREG(st.st_mode)) continue; -#if BSD - { - char buf2[20]; - sprintf(buf2,"%13ld",s.st_size); - sprintf(line,"%c%c%c%c%c%c%c%c%c%c %3d %s %s %s %s %s\r\n", + sprintf(line,"%c%c%c%c%c%c%c%c%c%c %3d %s %s %13llu %s %s\r\n", S_ISDIR(st.st_mode) ? 'd' : S_ISLNK(st.st_mode) ? 'l' : '-', st.st_mode & S_IRUSR ? 'r' : '-', st.st_mode & S_IWUSR ? 'w' : '-', @@ -240,29 +236,9 @@ (int)st.st_nlink, user->username, "ftp", - buf2, + (unsigned long long)st.st_size, datestr, entr->d_name); - } -#else - sprintf(line,"%c%c%c%c%c%c%c%c%c%c %3d %s %s %13ld %s %s\r\n", - S_ISDIR(st.st_mode) ? 'd' : S_ISLNK(st.st_mode) ? 'l' : '-', - st.st_mode & S_IRUSR ? 'r' : '-', - st.st_mode & S_IWUSR ? 'w' : '-', - st.st_mode & S_IXUSR ? 'x' : '-', - st.st_mode & S_IRGRP ? 'r' : '-', - st.st_mode & S_IWGRP ? 'w' : '-', - st.st_mode & S_IXGRP ? 'x' : '-', - st.st_mode & S_IROTH ? 'r' : '-', - st.st_mode & S_IWOTH ? 'w' : '-', - st.st_mode & S_IXOTH ? 'x' : '-', - (int)st.st_nlink, - user->username, - "ftp", - st.st_size, - datestr, - entr->d_name); -#endif /* if (!callback(sock,context,line)) break;*/ if (list_call_wrapper(sock, context, line, buffer, &buffer_len, callback)) break; |