From 03c2391078e19dc36ea62c75fa6745569b5cbef6 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 21 Jun 2013 03:34:18 +0000 Subject: define MOG_DEVID_MAX and MOG_PATH_MAX variables This improves maintainability in case MogileFS changest these limits. --- defaults.h | 4 ++++ svc_dev.c | 2 +- valid_path.rl | 3 +-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/defaults.h b/defaults.h index 7ba76be..adf9468 100644 --- a/defaults.h +++ b/defaults.h @@ -3,3 +3,7 @@ #define MOG_DEFAULT_MGMTLISTEN "0.0.0.0:7501" #define MOG_DEFAULT_DOCROOT "/var/mogdata" #define MOG_DEFAULT_CONFIGFILE "/etc/mogilefs/mogstored.conf" +#define MOG_DEVID_MAX (16777215) /* MEDIUMINT in DB */ + +/* TODO: update if MogileFS supports FIDs >= 10,000,000,000 */ +#define MOG_PATH_MAX (sizeof("/dev16777215/0/000/000/0123456789.fid")) diff --git a/svc_dev.c b/svc_dev.c index e8d8a2c..ab21211 100644 --- a/svc_dev.c +++ b/svc_dev.c @@ -116,7 +116,7 @@ static int svc_scandev(struct mog_svc *svc, size_t *nr, mog_scandev_cb cb) mog_devid = strtoul(ent->d_name + 3, &end, 10); if (*end != 0) continue; - if (mog_devid > 0xffffff) continue; /* MEDIUMINT in DB */ + if (mog_devid > MOG_DEVID_MAX) continue; dev = mog_dev_for(svc, (uint32_t)mog_devid); if (!dev) continue; diff --git a/valid_path.rl b/valid_path.rl index 9d26cfe..2d365c7 100644 --- a/valid_path.rl +++ b/valid_path.rl @@ -31,8 +31,7 @@ static bool path_traversal_found(const char *buf, size_t len) int mog_valid_path(const char *buf, size_t len) { - /* TODO: update if MogileFS supports FIDs >= 10,000,000,000 */ - if (len >= (sizeof("/dev16777215/0/000/000/0123456789.fid"))) + if (len >= MOG_PATH_MAX) return 0; return ! path_traversal_found(buf, len); -- cgit v1.2.3-24-ge0c7