Index: pam-config-0.89/src/mod_pam_cracklib.c
===================================================================
--- pam-config-0.89.orig/src/mod_pam_cracklib.c
+++ pam-config-0.89/src/mod_pam_cracklib.c
@@ -56,8 +56,8 @@ PRINT_ARGS("cracklib")
 PRINT_XMLHELP("cracklib")
 
 /* ---- contruct module object ---- */
-DECLARE_BOOL_OPTS_2(is_enabled, debug);
-DECLARE_STRING_OPTS_11(authtok_type, retry, difok, difignore, minlen, dcredit, ucredit, lcredit, ocredit, minclass, dictpath);
+DECLARE_BOOL_OPTS_5(is_enabled, debug, reject_username, gecoscheck, enforce_for_root);
+DECLARE_STRING_OPTS_14(authtok_type, retry, difok, difignore, minlen, dcredit, ucredit, lcredit, ocredit, minclass, dictpath, maxrepeat, maxsequence, maxclassrepeat);
 DECLARE_OPT_SETS;
 
 static module_helptext_t helptext[] = {{NULL, NULL, NULL}};
Index: pam-config-0.89/src/pam-config.8.xml
===================================================================
--- pam-config-0.89.orig/src/pam-config.8.xml
+++ pam-config-0.89/src/pam-config.8.xml
@@ -338,6 +338,54 @@
             </listitem>
           </varlistentry>
           <varlistentry>
+            <term><option>--cracklib-maxrepeat=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>maxrepeat=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><option>--cracklib-maxsequence=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>maxsequence=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><option>--cracklib-maxclassrepeat=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>maxclassrepeat=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><option>--cracklib-reject_username=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>reject_username=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><option>--cracklib-gecoscheck=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>gecoscheck=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><option>--cracklib-enforce_for_root=</option><replaceable>value</replaceable></term>
+            <listitem>
+              <para>
+                Add <option>enforce_for_root=</option><replaceable>value</replaceable> option to pam_cracklib.so.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
             <term><option>--cracklib-dictpath=</option><replaceable>value</replaceable></term>
             <listitem>
               <para>
Index: pam-config-0.89/src/pam-config.8
===================================================================
--- pam-config-0.89.orig/src/pam-config.8
+++ pam-config-0.89/src/pam-config.8
@@ -258,6 +258,48 @@ Add
 option to pam_cracklib\&.so\&.
 .RE
 .PP
+\fB\-\-cracklib\-maxrepeat=\fR\fIvalue\fR
+.RS 4
+Add
+\fBmaxrepeat=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
+\fB\-\-cracklib\-maxsequence=\fR\fIvalue\fR
+.RS 4
+Add
+\fBmaxsequence=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
+\fB\-\-cracklib\-maxclassrepeat=\fR\fIvalue\fR
+.RS 4
+Add
+\fBmaxclassrepeat=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
+\fB\-\-cracklib\-reject_username=\fR\fIvalue\fR
+.RS 4
+Add
+\fBreject_username=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
+\fB\-\-cracklib\-gecoscheck=\fR\fIvalue\fR
+.RS 4
+Add
+\fBgecoscheck=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
+\fB\-\-cracklib\-enforce_for_root=\fR\fIvalue\fR
+.RS 4
+Add
+\fBenforce_for_root=\fR\fIvalue\fR
+option to pam_cracklib\&.so\&.
+.RE
+.PP
 \fB\-\-cracklib\-dictpath=\fR\fIvalue\fR
 .RS 4
 Add
Index: pam-config-0.89/src/pam-module.h
===================================================================
--- pam-config-0.89.orig/src/pam-module.h
+++ pam-config-0.89/src/pam-module.h
@@ -85,6 +85,7 @@ typedef struct {
 #define INIT_OPT_8(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h) INIT_OPT_4(PREFIX,TYPE,DEFAULT,a,b,c,d); INIT_OPT_4(PREFIX,TYPE,DEFAULT,e,f,g,h)
 #define INIT_OPT_10(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j) INIT_OPT_5(PREFIX,TYPE,DEFAULT,a,b,c,d,e); INIT_OPT_5(PREFIX,TYPE,DEFAULT,f,g,h,i,j)
 #define INIT_OPT_11(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j,k) INIT_OPT_6(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f); INIT_OPT_5(PREFIX,TYPE,DEFAULT,g,h,i,j,k)
+#define INIT_OPT_14(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n) INIT_OPT_8(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h); INIT_OPT_6(PREFIX,TYPE,DEFAULT,i,j,k,l,m,n)
 #define INIT_OPT_16(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) INIT_OPT_8(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h); INIT_OPT_8(PREFIX,TYPE,DEFAULT,i,j,k,l,m,n,o,p)
 
 #define OPT_SET_START(PREFIX, TYPE) static TYPE ## _option_t * PREFIX ## _ ## TYPE ## _opts[] = {
@@ -100,6 +101,7 @@ typedef struct {
 #define OPT_SET_BODY_8(PREFIX, a,b,c,d,e,f,g,h) OPT_SET_BODY_2(PREFIX,a,b), OPT_SET_BODY_6(PREFIX, c,d,e,f,g,h)
 #define OPT_SET_BODY_10(PREFIX, a,b,c,d,e,f,g,h,i,j) OPT_SET_BODY_5(PREFIX,a,b,c,d,e), OPT_SET_BODY_5(PREFIX, f,g,h,i,j)
 #define OPT_SET_BODY_11(PREFIX, a,b,c,d,e,f,g,h,i,j,k) OPT_SET_BODY_5(PREFIX,a,b,c,d,e), OPT_SET_BODY_6(PREFIX, f,g,h,i,j,k)
+#define OPT_SET_BODY_14(PREFIX, a,b,c,d,e,f,g,h,i,j,k,l,m,n) OPT_SET_BODY_8(PREFIX,a,b,c,d,e,f,g,h), OPT_SET_BODY_6(PREFIX, i,j,k,l,m,n)
 #define OPT_SET_BODY_16(PREFIX, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) OPT_SET_BODY_8(PREFIX,a,b,c,d,e,f,g,h), OPT_SET_BODY_8(PREFIX, i,j,k,l,m,n,o,p)
 
 #define GENERIC_OPT_SET_1(PREFIX,TYPE,DEFAULT,a)	      INIT_OPT_1(PREFIX, TYPE, DEFAULT, a); \
@@ -145,6 +147,10 @@ typedef struct {
 							          OPT_SET_START(PREFIX, TYPE) \
 							          OPT_SET_BODY_11(PREFIX,a,b,c,d,e,f,g,h,i,j,k), \
 								  OPT_SET_END
+#define GENERIC_OPT_SET_14(PREFIX, TYPE, DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n)  INIT_OPT_14(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n); \
+							          OPT_SET_START(PREFIX, TYPE) \
+							          OPT_SET_BODY_14(PREFIX,a,b,c,d,e,f,g,h,i,j,k,l,m,n), \
+								  OPT_SET_END
 
 #define GENERIC_OPT_SET_16(PREFIX, TYPE, DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) \
                                                                   INIT_OPT_16(PREFIX,TYPE,DEFAULT,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);	\
@@ -263,6 +269,12 @@ typedef struct {
   GENERIC_OPT_SET_11( password,	string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11 ); \
   GENERIC_OPT_SET_11( session,	string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11 );
 
+#define DECLARE_STRING_OPTS_14(OPT_1,OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11,OPT_12,OPT_13,OPT_14) \
+  GENERIC_OPT_SET_14( auth, string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11,OPT_12,OPT_13,OPT_14 ); \
+  GENERIC_OPT_SET_14( account,	string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11,OPT_12,OPT_13,OPT_14 ); \
+  GENERIC_OPT_SET_14( password,	string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11,OPT_12,OPT_13,OPT_14 ); \
+  GENERIC_OPT_SET_14( session,	string, STRING_DEFAULT, OPT_1, OPT_2,OPT_3,OPT_4,OPT_5,OPT_6,OPT_7,OPT_8,OPT_9,OPT_10,OPT_11,OPT_12,OPT_13,OPT_14 );
+
 
 #define DECLARE_OPT_SETS						\
   static option_set_t auth_opts	    = { auth_bool_opts,	    auth_string_opts,	  &is_enabled, &enable, &get_opt, &set_opt }; \
