aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-08-02 14:20:10 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-08-02 14:20:10 +0300
commit4dac9f1e6de1e36e0562f7ea556b32af48495c99 (patch)
tree92fa733388d5ebe630e3d0228af9fc2f0a930615
parentIntroduce 'vcard' option for the modules supporting vCards (diff)
Validate BINVAL values of vcard elements as Base64
-rw-r--r--rebar.config2
-rw-r--r--src/econf.erl11
2 files changed, 8 insertions, 5 deletions
diff --git a/rebar.config b/rebar.config
index b36754225..dd4972031 100644
--- a/rebar.config
+++ b/rebar.config
@@ -26,7 +26,7 @@
{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", "7fd02f3a2f"}},
{xmpp, ".*", {git, "https://github.com/processone/xmpp", "d2b3c3c"}},
{fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.19"}}},
- {yconf, ".*", {git, "https://github.com/processone/yconf", "4bdf771"}},
+ {yconf, ".*", {git, "https://github.com/processone/yconf", "97a1189"}},
{jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}},
{p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.5"}}},
{pkix, ".*", {git, "https://github.com/processone/pkix", "2d7a3b8"}},
diff --git a/src/econf.erl b/src/econf.erl
index 4b7ccd587..bfa9cd781 100644
--- a/src/econf.erl
+++ b/src/econf.erl
@@ -37,7 +37,7 @@
-export([ip/0, ipv4/0, ipv6/0, ip_mask/0, port/0]).
-export([re/0, re/1, glob/0, glob/1]).
-export([path/0, binary_sep/1]).
--export([beam/0, beam/1]).
+-export([beam/0, beam/1, base64/0]).
-export([timeout/1, timeout/2]).
%% Composite types
-export([list/1, list/2]).
@@ -338,6 +338,9 @@ timeout(Units) ->
timeout(Units, Inf) ->
yconf:timeout(Units, Inf).
+base64() ->
+ yconf:base64().
+
non_empty(F) ->
yconf:non_empty(F).
@@ -576,7 +579,7 @@ vcard_photo() ->
vcard_validator(
vcard_photo, undefined,
[{type, undefined, binary()},
- {binval, undefined, binary()},
+ {binval, undefined, base64()},
{extval, undefined, binary()}]).
-spec vcard_adr() -> yconf:validator().
@@ -653,7 +656,7 @@ vcard_logo() ->
vcard_validator(
vcard_logo, undefined,
[{type, undefined, binary()},
- {binval, undefined, binary()},
+ {binval, undefined, base64()},
{extval, undefined, binary()}]).
-spec vcard_org() -> yconf:validator().
@@ -668,7 +671,7 @@ vcard_sound() ->
vcard_validator(
vcard_sound, undefined,
[{phonetic, undefined, binary()},
- {binval, undefined, binary()},
+ {binval, undefined, base64()},
{extval, undefined, binary()}]).
-spec vcard_key() -> yconv:validator().