123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // Copyright 2011 Mark Cavage, Inc. All rights reserved.
-
- /**
- * RFC 2254 Escaping of filter strings
- *
- * Raw Escaped
- * (o=Parens (R Us)) (o=Parens \28R Us\29)
- * (cn=star*) (cn=star\2A)
- * (filename=C:\MyFile) (filename=C:\5cMyFile)
- *
- * Use substr_filter to avoid having * ecsaped.
- *
- * @author [Austin King](https://github.com/ozten)
- */
- exports.escape = function (inp) {
- if (typeof (inp) === 'string') {
- var esc = '';
- for (var i = 0; i < inp.length; i++) {
- switch (inp[i]) {
- case '*':
- esc += '\\2a';
- break;
- case '(':
- esc += '\\28';
- break;
- case ')':
- esc += '\\29';
- break;
- case '\\':
- esc += '\\5c';
- break;
- case '\0':
- esc += '\\00';
- break;
- default:
- esc += inp[i];
- break;
- }
- }
- return esc;
-
- } else {
- return inp;
- }
- };
|