You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2011/01/19 03:41:50 UTC
svn commit: r1060657 - in /httpd/httpd/trunk: include/ap_mmn.h
include/httpd.h modules/proxy/mod_proxy.h
modules/proxy/mod_proxy_balancer.c server/util.c
Author: jim
Date: Wed Jan 19 02:41:49 2011
New Revision: 1060657
URL: http://svn.apache.org/viewvc?rev=1060657&view=rev
Log:
Make the balancer shared memory slot more human readable. But we need
to make it a "safe" filename, so create 2 funcs which do that.
Modified:
httpd/httpd/trunk/include/ap_mmn.h
httpd/httpd/trunk/include/httpd.h
httpd/httpd/trunk/modules/proxy/mod_proxy.h
httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
httpd/httpd/trunk/server/util.c
Modified: httpd/httpd/trunk/include/ap_mmn.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/ap_mmn.h?rev=1060657&r1=1060656&r2=1060657&view=diff
==============================================================================
--- httpd/httpd/trunk/include/ap_mmn.h (original)
+++ httpd/httpd/trunk/include/ap_mmn.h Wed Jan 19 02:41:49 2011
@@ -297,6 +297,7 @@
* 20110117.0 (2.3.11-dev) Merge <If> sections in separate step (ap_if_walk).
* Add core_dir_config->sec_if. Add ap_add_if_conf().
* Add pool argument to ap_add_file_conf().
+ * 20110117.1 (2.3.11-dev) Add ap_pstr2alnum() and ap_str2alnum()
*/
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
@@ -304,7 +305,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20110117
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
Modified: httpd/httpd/trunk/include/httpd.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/httpd.h?rev=1060657&r1=1060656&r2=1060657&view=diff
==============================================================================
--- httpd/httpd/trunk/include/httpd.h (original)
+++ httpd/httpd/trunk/include/httpd.h Wed Jan 19 02:41:49 2011
@@ -1828,6 +1828,29 @@ AP_DECLARE(apr_status_t) ap_timeout_para
*/
AP_DECLARE(int) ap_request_has_body(request_rec *r);
+/**
+ * Cleanup a string.
+ * We only allow alphanumeric chars. Non-printable
+ * map to 'x' and all others map to '_'
+ *
+ * @param p pool to use to allocate dest
+ * @param src string to clean up
+ * @param dest cleaned up, allocated string
+ * @return Status value indicating whether the cleaning was successful or not.
+ */
+AP_DECLARE(apr_status_t) ap_pstr2alnum(apr_pool_t *p, const char *src, char **dest);
+
+/**
+ * Cleanup a string.
+ * We only allow alphanumeric chars. Non-printable
+ * map to 'x' and all others map to '_'
+ *
+ * @param src string to clean up
+ * @param dest cleaned up, pre-allocated string
+ * @return Status value indicating whether the cleaning was successful or not.
+ */
+AP_DECLARE(apr_status_t) ap_str2alnum(const char *src, char *dest);
+
/* Misc system hackery */
/**
* Given the name of an object in the file system determine if it is a directory
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.h?rev=1060657&r1=1060656&r2=1060657&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy.h (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy.h Wed Jan 19 02:41:49 2011
@@ -59,7 +59,6 @@
#include "http_connection.h"
#include "util_filter.h"
#include "util_ebcdic.h"
-#include "util_md5.h"
#include "ap_provider.h"
#include "ap_slotmem.h"
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c?rev=1060657&r1=1060656&r2=1060657&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c Wed Jan 19 02:41:49 2011
@@ -736,7 +736,7 @@ static int balancer_post_config(apr_pool
ap_slotmem_instance_t *new = NULL;
balancer->max_workers = balancer->workers->nelts + balancer->growth;
- balancer->sname = ap_md5(pconf, (const unsigned char *)balancer->name);
+ ap_pstr2alnum(pconf, balancer->name, &balancer->sname);
/* Create global mutex */
rv = ap_global_mutex_create(&(balancer->mutex), NULL, balancer_mutex_type,
Modified: httpd/httpd/trunk/server/util.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util.c?rev=1060657&r1=1060656&r2=1060657&view=diff
==============================================================================
--- httpd/httpd/trunk/server/util.c (original)
+++ httpd/httpd/trunk/server/util.c Wed Jan 19 02:41:49 2011
@@ -2255,3 +2255,27 @@ AP_DECLARE_NONSTD(apr_status_t) ap_pool_
*ptr = NULL;
return APR_SUCCESS;
}
+
+AP_DECLARE(apr_status_t) ap_str2alnum(const char *src, char *dest) {
+
+ for ( ; *src; src++, dest++)
+ {
+ if (!apr_isprint(*src))
+ *dest = 'x';
+ else if (!apr_isalnum(*src))
+ *dest = '_';
+ else
+ *dest = (char)*src;
+ }
+ *dest = '\0';
+ return APR_SUCCESS;
+
+}
+
+AP_DECLARE(apr_status_t) ap_pstr2alnum(apr_pool_t *p, const char *src, char **dest)
+{
+ *dest = apr_palloc(p, strlen(src)+1);
+ if (!*dest)
+ return APR_ENOMEM;
+ return ap_str2alnum(src, *dest);
+}