{ "XCLIENT", SMTP_CAPABILITY_XCLIENT },
{ NULL, 0 }
};
+
+enum smtp_capability smtp_capability_find_by_name(const char *cap_name)
+{
+ const struct smtp_capability_name *cap;
+ unsigned int i;
+
+ for (i = 0; smtp_capability_names[i].name != NULL; i++) {
+ cap = &smtp_capability_names[i];
+
+ if (strcasecmp(cap_name, cap->name) == 0)
+ return cap->capability;
+ }
+
+ return SMTP_CAPABILITY_NONE;
+}
/* SMTP capabilities */
enum smtp_capability {
+ SMTP_CAPABILITY_NONE = 0,
+
SMTP_CAPABILITY_AUTH = BIT(0),
SMTP_CAPABILITY_STARTTLS = BIT(1),
SMTP_CAPABILITY_PIPELINING = BIT(2),
};
extern const struct smtp_capability_name smtp_capability_names[];
+enum smtp_capability smtp_capability_find_by_name(const char *cap_name);
+
/*
* SMTP proxy data
*/