diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-02-06 02:16:08 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-02-06 02:16:08 +0000 |
| commit | 5ca4a0e5b65066f41af7c670e8200b0d0eba41dd (patch) | |
| tree | 76f0fdef194f6227f4903d9139157a76b18f936e /src/qmail-smtpc/qmailr_utils.c | |
| parent | 025de935255c05d72a5c35d86c6c5c4d212247a1 (diff) | |
| download | smtpd-starttls-proxy-5ca4a0e5b65066f41af7c670e8200b0d0eba41dd.tar.gz | |
Just name it qmail-remote after all
Diffstat (limited to 'src/qmail-smtpc/qmailr_utils.c')
| -rw-r--r-- | src/qmail-smtpc/qmailr_utils.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/qmail-smtpc/qmailr_utils.c b/src/qmail-smtpc/qmailr_utils.c deleted file mode 100644 index deeff46..0000000 --- a/src/qmail-smtpc/qmailr_utils.c +++ /dev/null @@ -1,60 +0,0 @@ -/* ISC license. */ - -#include <string.h> - -#include <skalibs/bitarray.h> -#include <skalibs/stralloc.h> - -#include "qmailr.h" - -int qmailr_memcmp4 (void const *a, void const *b) -{ - return memcmp(a, b, 4) ; -} - -int qmailr_memcmp16 (void const *a, void const *b) -{ - return memcmp(a, b, 16) ; -} - -static inline int needsquoting (char const *s, size_t len) -{ - static unsigned char const badchar[32] = - { - 0xff, 0xff, 0xff, 0xff, - 0x05, 0x13, 0x00, 0x5c, - 0x01, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x00, 0x80, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - } ; - if (!len) return 1 ; - if (s[0] == '.' || s[len - 1] == '.') return 1 ; - for (size_t i = 0 ; i < len ; i++) - { - if (bitarray_peek(badchar, (unsigned char)s[i])) return 1 ; - if (i + 2 < len && s[i] == '.' && s[i+1] == '.') return 1 ; - } - return 0 ; -} - -int qmailr_box_encode (char const *s, size_t len, stralloc *storage) -{ - if (needsquoting(s, len)) - { - size_t j = storage->len ; - if (!stralloc_readyplus(storage, 2 + (len << 1))) return 0 ; - storage->s[j++] = '"' ; - for (size_t i = 0 ; i < len ; i++) - { - if (strchr("\"\\\r\n", s[i])) storage->s[j++] = '\\' ; - storage->s[j++] = s[i] ; - } - storage->s[j++] = '"' ; - storage->len = j ; - } - else if (!stralloc_catb(storage, s, len)) return 0 ; - return 1 ; -} |
