diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-04-11 14:46:55 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-04-11 14:46:55 +0000 |
commit | ee3afa2e2ae017b22156164763a4099702ca472d (patch) | |
tree | d41c03f7bf2396e7e01147a9ffd75c7a0a71232c /c/src/libnetworking/rtems_webserver/um.c | |
parent | 2003-04-10 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-ee3afa2e2ae017b22156164763a4099702ca472d.tar.bz2 |
2002-04-10 Mike Siers <mikes@poliac.com>
* rtems_webserver/NOTES, rtems_webserver/asp.c,
rtems_webserver/balloc.c, rtems_webserver/default.c,
rtems_webserver/ej.h, rtems_webserver/ejIntrn.h,
rtems_webserver/ejlex.c, rtems_webserver/ejparse.c,
rtems_webserver/emfdb.c, rtems_webserver/emfdb.h,
rtems_webserver/form.c, rtems_webserver/h.c,
rtems_webserver/handler.c, rtems_webserver/license.txt,
rtems_webserver/md5.h, rtems_webserver/md5c.c,
rtems_webserver/mime.c, rtems_webserver/misc.c,
rtems_webserver/ringq.c, rtems_webserver/rom.c,
rtems_webserver/security.c, rtems_webserver/sock.c,
rtems_webserver/sym.c, rtems_webserver/uemf.c,
rtems_webserver/uemf.h, rtems_webserver/um.c, rtems_webserver/um.h,
rtems_webserver/url.c, rtems_webserver/value.c,
rtems_webserver/wbase64.c, rtems_webserver/webcomp.c,
rtems_webserver/webpage.c, rtems_webserver/webrom.c,
rtems_webserver/webs.c, rtems_webserver/webs.h,
rtems_webserver/websuemf.c, rtems_webserver/wsIntrn.h:
Update to GoAhead Webserver 2.1.4. The following URL is
the release notes from GoAhead.
http://data.goahead.com/Software/Webserver/2.1.4/release.htm
I have only done a minimal amount of testing (i.e. the network
demo program works fine). Please try this out and let me know
if it works. The patch needs to be applied on the
c/src/libnetworking/rtems_webserver directory.
Diffstat (limited to 'c/src/libnetworking/rtems_webserver/um.c')
-rw-r--r-- | c/src/libnetworking/rtems_webserver/um.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/c/src/libnetworking/rtems_webserver/um.c b/c/src/libnetworking/rtems_webserver/um.c index ce9e171c01..e960f02719 100644 --- a/c/src/libnetworking/rtems_webserver/um.c +++ b/c/src/libnetworking/rtems_webserver/um.c @@ -53,6 +53,13 @@ /******************************** Local Data **********************************/ +#ifdef qHierarchicalAccess +/* + * user-provided function to allow hierarchical access protection. See below. + * for details. + */ +extern bool_t dmfCanAccess(const char_t* usergroup, const char_t* group); +#endif #ifdef UEMF /* * User table definition @@ -1377,15 +1384,28 @@ bool_t umUserCanAccessURL(char_t *user, char_t *url) * member of that group */ if (group && *group) { +#ifdef qHierarchicalAccess + /* + * If we are compiling with the hierarchical access extensions, we + * instead call the user-provided function that checks to see whether + * the current user's access level is greater than or equal to the + * access level required for this URL. + */ + return dmfCanAccess(usergroup, group); + +#else if (usergroup && (gstrcmp(group, usergroup) != 0)) { return FALSE; + } +#endif } /* * Otherwise, user can access the URL */ return TRUE; + } /******************************************************************************/ |