diff --git a/include/proto/auth.h b/include/proto/auth.h
index 711b2f8..a960613 100644
--- a/include/proto/auth.h
+++ b/include/proto/auth.h
@@ -20,9 +20,11 @@
 
 struct userlist *auth_find_userlist(char *name);
 unsigned int auth_resolve_groups(struct userlist *l, char *groups);
+int userlist_postinit();
 void userlist_free(struct userlist *ul);
 enum pat_match_res pat_match_auth(struct sample *smp, struct pattern *pattern);
-int check_user(struct userlist *ul, unsigned int group_mask, const char *user, const char *pass);
+int check_user(struct userlist *ul, const char *user, const char *pass);
+int check_group(struct userlist *ul, char *name);
 
 #endif /* _PROTO_AUTH_H */
 
diff --git a/include/types/auth.h b/include/types/auth.h
index e60d363..964f29b 100644
--- a/include/types/auth.h
+++ b/include/types/auth.h
@@ -18,17 +18,26 @@
 
 #include <types/auth.h>
 
-#define MAX_AUTH_GROUPS (unsigned int)(sizeof(int)*8)
-
 #define AU_O_INSECURE	0x00000001		/* insecure, unencrypted password */
 
+struct auth_groups {
+	struct auth_groups *next;
+	char *name;
+	char *groupusers; /* Just used during the configuration parsing. */
+};
+
+struct auth_groups_list {
+	struct auth_groups_list *next;
+	struct auth_groups *group;
+};
+
 struct auth_users {
 	struct auth_users *next;
 	unsigned int flags;
 	char *user, *pass;
 	union {
-		char *groups;
-		unsigned int group_mask;
+		char *groups_names; /* Just used during the configuration parsing. */
+		struct auth_groups_list *groups;
 	} u;
 };
 
@@ -36,9 +45,7 @@
 	struct userlist *next;
 	char *name;
 	struct auth_users *users;
-	int grpcnt;
-	char *groups[MAX_AUTH_GROUPS];
-	char **groupusers;
+	struct auth_groups *groups;
 };
 
 #endif /* _TYPES_AUTH_H */
diff --git a/include/types/pattern.h b/include/types/pattern.h
index 4e89372..93ee297 100644
--- a/include/types/pattern.h
+++ b/include/types/pattern.h
@@ -138,7 +138,6 @@
 			unsigned char mask;     /* number of bits */
 		} ipv6;                         /* IPv6 address/mask */
 		struct pat_time time;           /* valid hours and days */
-		unsigned int group_mask;
 		struct eb_root *tree;           /* tree storing all values if any */
 	} val;                                  /* direct value */
 	union {
