From 5de92309243ca3c100a49bdf2e32a1992d0ca235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 1 May 2015 08:40:13 +0200 Subject: [PATCH] Security: New config option to disable the use of gravatar for profile images, Closes #1891 --- CHANGELOG.md | 1 + conf/defaults.ini | 3 +++ conf/sample.ini | 3 +++ docs/sources/installation/configuration.md | 3 +++ pkg/api/index.go | 4 ++++ pkg/setting/setting.go | 3 +++ .../plugins/datasource/influxdb_08/datasource.js | 4 ++-- public/img/user_profile.png | Bin 0 -> 1486 bytes 8 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 public/img/user_profile.png diff --git a/CHANGELOG.md b/CHANGELOG.md index d0358f7e572..517fa82779b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Backend** - [Issue #1905](https://github.com/grafana/grafana/issues/1905). Github OAuth: You can now configure a Github team membership requirement, thx @dewski +- [Issue #1891](https://github.com/grafana/grafana/issues/1891). Security: New config option to disable the use of gravatar for profile images # 2.0.3 (unreleased - 2.0.x branch) diff --git a/conf/defaults.ini b/conf/defaults.ini index 4fef290b908..891c04920e1 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -109,6 +109,9 @@ login_remember_days = 7 cookie_username = grafana_user cookie_remember_name = grafana_remember +# disable gravatar profile images +disable_gravatar = false + #################################### Users #################################### [users] # disable user signup / registration diff --git a/conf/sample.ini b/conf/sample.ini index 62d5c2a09ce..aa333cdc5de 100644 --- a/conf/sample.ini +++ b/conf/sample.ini @@ -108,6 +108,9 @@ ;cookie_username = grafana_user ;cookie_remember_name = grafana_remember +# disable gravatar profile images +;disable_gravatar = false + #################################### Users #################################### [users] # disable user signup / registration diff --git a/docs/sources/installation/configuration.md b/docs/sources/installation/configuration.md index ace8c57184f..7ccee50fbc9 100644 --- a/docs/sources/installation/configuration.md +++ b/docs/sources/installation/configuration.md @@ -134,6 +134,9 @@ The number of days the keep me logged in / remember me cookie lasts. ### secret_key Used for signing keep me logged in / remember me cookies. +### disable_gravatar +Set to true to disable the use of Gravatar for user profile images. Default is `false`. +
## [user] diff --git a/pkg/api/index.go b/pkg/api/index.go index 86a5e3f1882..386bb3351df 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -25,6 +25,10 @@ func setIndexViewData(c *middleware.Context) error { IsGrafanaAdmin: c.IsGrafanaAdmin, } + if setting.DisableGravatar { + currentUser.GravatarUrl = setting.AppSubUrl + "/img/user_profile.png" + } + if len(currentUser.Name) == 0 { currentUser.Name = currentUser.Login } diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index 46f98e32efe..520267fb871 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -71,6 +71,7 @@ var ( LogInRememberDays int CookieUserName string CookieRememberName string + DisableGravatar bool // User settings AllowUserSignUp bool @@ -358,6 +359,8 @@ func NewConfigContext(args *CommandLineArgs) { LogInRememberDays = security.Key("login_remember_days").MustInt() CookieUserName = security.Key("cookie_username").String() CookieRememberName = security.Key("cookie_remember_name").String() + DisableGravatar = security.Key("disable_gravatar").MustBool(true) + // admin AdminUser = security.Key("admin_user").String() AdminPassword = security.Key("admin_password").String() diff --git a/public/app/plugins/datasource/influxdb_08/datasource.js b/public/app/plugins/datasource/influxdb_08/datasource.js index 7462bdb41b9..8ff01c8553f 100644 --- a/public/app/plugins/datasource/influxdb_08/datasource.js +++ b/public/app/plugins/datasource/influxdb_08/datasource.js @@ -42,9 +42,9 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { query = query.replace(/\$interval/g, (target.interval || options.interval)); // replace templated variables - query = templateSrv.replace(query); + query = templateSrv.replace(query, options.scopedVars); - var alias = target.alias ? templateSrv.replace(target.alias) : ''; + var alias = target.alias ? templateSrv.replace(target.alias, options.scopedVars) : ''; var handleResponse = _.partial(handleInfluxQueryResponse, alias, queryBuilder.groupByField); return this._seriesQuery(query).then(handleResponse); diff --git a/public/img/user_profile.png b/public/img/user_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..bc492598e4fa5982c4bee100a50d35865d77a610 GIT binary patch literal 1486 zcmex=_1P|rX?qqI0P zFI~aY%U!`Mz|~!$%*;qrN1?DZF(6Oj-S5fuR$!pIEN!@|nR z%E~Fi%grl7GWdUhL6CzXiXn=bQHg;`kdaxC@&6G9d7vj*8Nq-73K*GyZe(NU;N;>4 zD%dK(z{JSR%*4VBay3wOEl{3;MUYiU(a@1iI53f2sZhkIapFP_Wv7h?MT0JWP%%y_ zYU1P)6PJ*bQdLve(9|+9H8Z!cv~qTFb#wRd^a>6M4GWKmj7m;PO-s+n%qlJ^Ei136 ztZHs)ZENr7?3y%r%G7DoXUv?nXz`Mz%a*TLxoXqqEnBy3-?4Mop~FXx9y@;G&P778mFHFAhJOE?_w-yD~F_amQ+_y1B)x?zv`X3r?%#6LtUj zAVl=_eJ&fjX;scyMQV9^og5y&H#YZQX{y&^n0$CYx5-;8mC1qs8T@y>3YnxF{Kop9 z{nXOH7qfCaH|ppH+V4^fu%8;csKIh?`onjftB>7(u{zW6rS68C{Rax_wLaO4R``8B zw7p65qYD3gtx|dI{ui~YUvQoIsMaptv8B4(lHtx_!;SKV$DRLGr#0A>KkJ(0aZ6KH zwrtm=C344RJMcd130|>)smtf$tp>4utsiD-{YduYviPl&{_&Rauj}V6*Ju5RU8}bA z;g)SWHouLZZu)+!GWf4O7sH#1#UGX|Y7qYbq*l$^wv?}b*_}8)hb|GF+VhD&=4mh= ztO@Cur*_qeaZ9Y{e};upr&sFb$-R4)`NVRPo8Iv|b7pn#WzZFwxu`*?=izkS-(D?!Bu@D99&bkP6;5Z^PZrFv`e%E5 z;{yKq#%|fkNB&9d{;>Dw_MOs?b7m}y-}U&HeAaQb2A)gLdM*_@aCaGcN8e++=(h7w zw1-SyEB|Z_+pCqw9~Ib3F?^Zd_D?95-zWO!<-b->i%&c=c_sd;YW}~iWs%ROizGD& zn=H84W$3_`aaLln2;=lewruy0%!=7o+`#$F(t2^3(jKONhjPunWk+65xoGGn_h{eb zqm|*uctsp5vsWH7P?HN;!v9FVev%U@5b zpRnF|ebf&#`$xXD{~2PB|7+4