Changeset 2023
- Timestamp:
- 08/14/08 18:52:18 (4 months ago)
- Files:
-
- trunk/libwzd-core/wzd_ClientThread.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libwzd-core/wzd_ClientThread.c
r2022 r2023 2223 2223 int do_stor(wzd_string_t *name, wzd_string_t *arg, wzd_context_t * context) 2224 2224 { 2225 char path[WZD_MAX_PATH],path2[WZD_MAX_PATH]; 2225 char path[WZD_MAX_PATH]; 2226 char path2[WZD_MAX_PATH]; 2226 2227 int fd; 2227 2228 u64_t bytesnow, byteslast; … … 2229 2230 int ret; 2230 2231 wzd_user_t * user; 2232 wzd_group_t * group; 2231 2233 const char *param; 2232 2234 connection_state_t restorestate; … … 2237 2239 user = GetUserByID(context->userid); 2238 2240 2239 if ( ! (user->userperms & RIGHT_STOR) ) {2241 if ( !user || (user && !(user->userperms & RIGHT_STOR)) ) { 2240 2242 ret = send_message_with_args(550,context,"STOR","No access"); 2241 2243 return E_NOPERM; … … 2349 2351 /* set owner */ 2350 2352 { 2351 const char *groupname=NULL;2352 2353 if (user->group_num > 0) { 2353 groupname = GetGroupByID(user->groups[0])->groupname; 2354 } 2355 file_chown (path,user->username,groupname,context); 2354 group = GetGroupByID(user->groups[0]); 2355 } 2356 file_chown(path, 2357 user->username, 2358 group ? group->groupname : NULL, 2359 context 2360 ); 2356 2361 } 2357 2362
