Changeset 4974 for trunk/gsdl/src/recpt/documentaction.cpp
- Timestamp:
- 2003-07-18T10:02:55+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/recpt/documentaction.cpp
r4972 r4974 166 166 167 167 bool documentaction::check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args, 168 recptprotolistclass * /*protos*/, ostream &logout) { 169 170 // check gc argument 171 int arg_gc = args.getintarg("gc"); 168 recptprotolistclass *protos, ostream &logout) { 169 170 if(!args["d"].empty()) 171 { 172 recptproto* collectproto = protos->getrecptproto (args["c"], logout); 173 if (collectproto != NULL) 174 { 175 ColInfoResponse_t *cinfo = recpt->get_collectinfo_ptr (collectproto, args["c"], logout); 176 177 if(cinfo->auth_collection == "document" && cinfo->allow_acls) 178 { 179 // both are either commented out or uncomment and are empty 180 if (cinfo->allowallexcept.empty() && cinfo->denyallexcept.empty()) 181 { 182 //deny everything 183 args["uan"] = "1"; 184 args["ug"] = cinfo->auth_group; 185 } 186 187 // both allowallexcept and denyallexcept are turned on ! 188 else if (!cinfo->allowallexcept.empty() && !cinfo->denyallexcept.empty()) 189 { 190 //deny everything 191 args["uan"] = "1"; 192 args["ug"] = cinfo->auth_group; 193 } 194 195 // only allowallexcept is set, so ask to authenticate for that article/doc 196 else if (cinfo->allowallexcept.find(args["d"]) != cinfo->allowallexcept.end() ) 197 { 198 199 args["uan"] = "1"; 200 args["ug"] = cinfo->auth_group; 201 } 202 203 // only denyallexcept is set, so ask to authenticate for that article/doc 204 else if (cinfo->denyallexcept.find(args["d"]) == cinfo->denyallexcept.end() ) 205 { 206 args["uan"] = "1"; 207 args["ug"] = cinfo->auth_group; 208 } 209 210 } 211 } 212 } 213 // check gc argument 214 int arg_gc = args.getintarg("gc"); 172 215 if (arg_gc < 0 || arg_gc > 2) { 173 216 logout << "Warning: \"gc\" argument out of range (" << arg_gc << ")\n";
Note:
See TracChangeset
for help on using the changeset viewer.