Implement more sun nss db stubs and file parsers
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sun, 4 Jan 2009 10:39:00 +0000 (05:39 -0500)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sun, 4 Jan 2009 10:39:00 +0000 (05:39 -0500)
19 files changed:
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/Versions
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/_getuserattr.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/auditP.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/audit_user-lookup.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/auth_attrP.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/exec_attr-lookup.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/exec_attrP.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-audit_user.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-auth_attr.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-bootparams.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-exec_attr.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-netmasks.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-printers.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-prof_attr.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-project.c [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-user_attr.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/prof_attrP.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/projectP.h [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/user_attrP.h

index 6270731..9c63269 100644 (file)
@@ -62,8 +62,7 @@ libc {
     membar_consumer; memcntl; meminfo; __minor; modctl; mount;
 
     # n
-    nss_delete; nss_endent; _nss_files_parse_userattr; nss_getent; nss_search;
-    nss_setent; _nss_XbyY_fgets; ntp_adjtime; ntp_gettime;
+    ntp_adjtime; ntp_gettime;
 
     # p
     pc_sample; p_online; priocntl; priocntlset; __priv_bracket;
@@ -120,6 +119,9 @@ libc {
     # sys_errlist and sys_nerr
     _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
   }
+  GLIBC_PRIVATE {
+   _nss_files_parse_userattr;
+  }
 }
 
 libnsl {
@@ -133,6 +135,12 @@ libnsl {
 
 libnss_files {
   GLIBC_PRIVATE {
-    _nss_files_getuserattr_r;
-    _nss_files_getusernam_r;
+    _nss_files_getauthattr_r; _nss_files_getauthnam_r;
+    _nss_files_getexecattr_r; _nss_files_getexecprof_r;
+    _nss_files_getprofattr_r; _nss_files_getprofnam_r;
+    _nss_files_getuserattr_r; _nss_files_getusernam_r;
+    _nss_files_parse_auuser; _nss_files_parse_authattr;
+    _nss_files_parse_execattr; _nss_files_parse_profattr;
+    _nss_files_parse_proj; _nss_files_parse_userattr;
+  }
 }
index 6336141..f79efa2 100644 (file)
@@ -28,6 +28,9 @@
 
 #include "../nss/getXXent_r.c"
 
+extern int getuserattr_r (userstr_t *, char *, size_t, userstr_t **);
+
+
 userstr_t * _getuserattr (userstr_t *psbuf, char *buf, int buflen, int *errnop)
 {
   userstr_t *psbufp;
index 6fc55f9..634cbf2 100644 (file)
@@ -21,6 +21,9 @@
 #define _AUDITP_H
 
 #include <sys/types.h>
+#include <nss/nss.h>
+
+#define NSS_BUFLEN_AUDITUSER 1024
 
 typedef uid_t au_id_t;
 typedef pid_t au_asid_t;
@@ -64,4 +67,10 @@ typedef m_label_t bslabel_t;
 
 #define AU_NOAUDITID   ((au_id_t)-2)
 
+struct parser_data;
+extern int _nss_files_parse_auuser (char *line, struct au_user_str_s *result,
+                                  struct parser_data *data,
+                                  size_t datalen, int *errnop);
+libnss_files_hidden_proto (_nss_files_parse_auuser)
+
 #endif /* _AUDITP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/audit_user-lookup.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/audit_user-lookup.c
new file mode 100644 (file)
index 0000000..3e3a05a
--- /dev/null
@@ -0,0 +1,23 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#define DATABASE_NAME audit_user
+#define DEFAULT_CONFIG "files nis"
+
+#include "XXX-lookup.c"
index 934298a..8e956b0 100644 (file)
@@ -20,6 +20,9 @@
 #ifndef _AUTH_ATTRP_H
 #define _AUTH_ATTRP_H
 
+#include <sys/types.h>
+#include <nss/nss.h>
+
 #define NSS_BUFLEN_AUTHATTR    1024
 
 typedef struct authstr_s
@@ -30,6 +33,12 @@ typedef struct authstr_s
        char *short_desc;
        char *long_desc;
        char *attr;
-} authstr_t;
+  } authstr_t;
+
+struct parser_data;
+extern int _nss_files_parse_authattr (char *line, struct authstr_s *result,
+                                  struct parser_data *data,
+                                  size_t datalen, int *errnop);
+libnss_files_hidden_proto (_nss_files_parse_authattr)
 
 #endif /* _AUTH_ATTRP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/exec_attr-lookup.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/exec_attr-lookup.c
new file mode 100644 (file)
index 0000000..1671043
--- /dev/null
@@ -0,0 +1,23 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#define DATABASE_NAME exec_attr
+#define DEFAULT_CONFIG "files nis"
+
+#include "XXX-lookup.c"
index e07b81f..b3d4113 100644 (file)
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _USER_ATTRP_H
-#define _USER_ATTRP_H
+#ifndef _EXEC_ATTRP_H
+#define _EXEC_ATTRP_H
+
+#include <sys/types.h>
+#include <nss/nss.h>
 
 #define NSS_BUFLEN_USERATTR    1024
 
@@ -34,4 +37,10 @@ typedef struct execstr_s
        struct execstr_s *next;
   } execstr_t;
 
-#endif /* _USER_ATTRP_H */
+struct parser_data;
+extern int _nss_files_parse_execattr (char *line, struct execstr_s *result,
+                                  struct parser_data *data,
+                                  size_t datalen, int *errnop);
+libnss_files_hidden_proto (_nss_files_parse_execattr)
+
+#endif /* _EXEC_ATTRP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-audit_user.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-audit_user.c
new file mode 100644 (file)
index 0000000..e16735a
--- /dev/null
@@ -0,0 +1,43 @@
+/* User file parser in nss_files module.
+   Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <auditP.h>
+
+#define STRUCTURE      au_user_str_s
+#define ENTNAME                auuser
+#define DATABASE       "security/audit_user"
+struct auuserent_data {};
+
+#include "files-parse.c"
+LINE_PARSER
+(,
+ STRING_FIELD (result->au_name, ISCOLON, 0);
+ STRING_FIELD (result->au_always, ISCOLON, 0);
+ STRING_FIELD (result->au_never, ISCOLON, 0);
+ )
+
+#include GENERIC
+
+DB_LOOKUP (auusernam, 1 + strlen (name), (".%s", name),
+          {
+            if (! strcmp (name, result->au_name))
+              break;
+          }, const char *name)
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-auth_attr.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-auth_attr.c
new file mode 100644 (file)
index 0000000..a931b61
--- /dev/null
@@ -0,0 +1,46 @@
+/* User file parser in nss_files module.
+   Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <auth_attrP.h>
+
+#define STRUCTURE      authstr_s
+#define ENTNAME                authattr
+#define DATABASE       "security/auth_attr"
+struct authattrent_data {};
+
+#include "files-parse.c"
+LINE_PARSER
+(,
+ STRING_FIELD (result->name, ISCOLON, 0);
+ STRING_FIELD (result->res1, ISCOLON, 0);
+ STRING_FIELD (result->res2, ISCOLON, 0);
+ STRING_FIELD (result->short_desc, ISCOLON, 0);
+ STRING_FIELD (result->long_desc, ISCOLON, 0);
+ STRING_FIELD (result->attr, ISCOLON, 0);
+ )
+
+#include GENERIC
+
+DB_LOOKUP (authnam, 1 + strlen (name), (".%s", name),
+          {
+            if (! strcmp (name, result->name))
+              break;
+          }, const char *name)
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-bootparams.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-bootparams.c
new file mode 100644 (file)
index 0000000..70b786d
--- /dev/null
@@ -0,0 +1 @@
+// TODO
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-exec_attr.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-exec_attr.c
new file mode 100644 (file)
index 0000000..d5af56e
--- /dev/null
@@ -0,0 +1,48 @@
+/* User file parser in nss_files module.
+   Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <exec_attrP.h>
+
+#define STRUCTURE      execstr_s
+#define ENTNAME                execattr
+#define DATABASE       "security/exec_attr"
+struct execattrent_data {};
+
+#include "files-parse.c"
+LINE_PARSER
+(,
+ STRING_FIELD (result->name, ISCOLON, 0);
+ STRING_FIELD (result->policy, ISCOLON, 0);
+ STRING_FIELD (result->type, ISCOLON, 0);
+ STRING_FIELD (result->res1, ISCOLON, 0);
+ STRING_FIELD (result->res2, ISCOLON, 0);
+ STRING_FIELD (result->id, ISCOLON, 0);
+ STRING_FIELD (result->attr, ISCOLON, 0);
+ result->next = NULL;
+ )
+
+#include GENERIC
+
+DB_LOOKUP (execnam, 1 + strlen (name), (".%s", name),
+          {
+            if (! strcmp (name, result->name))
+              break;
+          }, const char *name)
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-netmasks.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-netmasks.c
new file mode 100644 (file)
index 0000000..70b786d
--- /dev/null
@@ -0,0 +1 @@
+// TODO
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-printers.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-printers.c
new file mode 100644 (file)
index 0000000..70b786d
--- /dev/null
@@ -0,0 +1 @@
+// TODO
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-prof_attr.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-prof_attr.c
new file mode 100644 (file)
index 0000000..cd20d63
--- /dev/null
@@ -0,0 +1,45 @@
+/* User file parser in nss_files module.
+   Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <prof_attrP.h>
+
+#define STRUCTURE      profstr_s
+#define ENTNAME                profattr
+#define DATABASE       "security/prof_attr"
+struct profattrent_data {};
+
+#include "files-parse.c"
+LINE_PARSER
+(,
+ STRING_FIELD (result->name, ISCOLON, 0);
+ STRING_FIELD (result->res1, ISCOLON, 0);
+ STRING_FIELD (result->res2, ISCOLON, 0);
+ STRING_FIELD (result->desc, ISCOLON, 0);
+ STRING_FIELD (result->attr, ISCOLON, 0);
+ )
+
+#include GENERIC
+
+DB_LOOKUP (profnam, 1 + strlen (name), (".%s", name),
+          {
+            if (! strcmp (name, result->name))
+              break;
+          }, const char *name)
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-project.c b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/files-project.c
new file mode 100644 (file)
index 0000000..e8411e0
--- /dev/null
@@ -0,0 +1,47 @@
+/* User file parser in nss_files module.
+   Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <projectP.h>
+
+#define STRUCTURE      project
+#define ENTNAME                proj
+#define DATABASE       "project"
+struct projent_data {};
+
+#include "files-parse.c"
+// TODO: need to split out pj_users and pj_groups
+LINE_PARSER
+(,
+ STRING_FIELD (result->pj_name, ISCOLON, 0);
+ INT_FIELD (result->pj_projid, ISCOLON, 0, 10, (projid_t))
+ STRING_FIELD (result->pj_comment, ISCOLON, 0);
+ STRING_FIELD (result->pj_users, ISCOLON, 0);
+ STRING_FIELD (result->pj_groups, ISCOLON, 0);
+ STRING_FIELD (result->pj_attr, ISCOLON, 0);
+ )
+
+#include GENERIC
+
+DB_LOOKUP (projnam, 1 + strlen (name), (".%s", name),
+          {
+            if (! strcmp (name, result->pj_name))
+              break;
+          }, const char *name)
index 8a6fff7..0a4c573 100644 (file)
@@ -1,6 +1,8 @@
 /* User file parser in nss_files module.
    Copyright (C) 1996, 1997, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   OpenSolaris bits contributed by David Bartley
+    <dtbartle@csclub.uwaterloo.ca>, 2008.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
index 5644122..cb6f685 100644 (file)
@@ -20,6 +20,9 @@
 #ifndef _PROF_ATTRP_H
 #define _PROF_ATTRP_H
 
+#include <sys/types.h>
+#include <nss/nss.h>
+
 #define NSS_BUFLEN_PROFATTR    1024
 
 typedef struct profstr_s
@@ -31,4 +34,10 @@ typedef struct profstr_s
        char *attr;
 } profstr_t;
 
+struct parser_data;
+extern int _nss_files_parse_profattr (char *line, struct profstr_s *result,
+                                  struct parser_data *data,
+                                  size_t datalen, int *errnop);
+libnss_files_hidden_proto (_nss_files_parse_profattr)
+
 #endif /* _PROF_ATTRP_H */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/projectP.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/projectP.h
new file mode 100644 (file)
index 0000000..722a771
--- /dev/null
@@ -0,0 +1,44 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _PROJECTP_H
+#define _PROJECTP_H
+
+#include <sys/types.h>
+#include <nss/nss.h>
+
+#define NSS_BUFLEN_PROJECT     ((4 * 1024) + (800 * sizeof (char *)))
+
+struct project
+  {
+       char *pj_name;
+       projid_t pj_projid;
+       char *pj_comment;
+       char **pj_users;
+       char **pj_groups;
+       char *pj_attr;
+  };
+
+struct parser_data;
+extern int _nss_files_parse_proj (char *line, struct project *result,
+                                  struct parser_data *data,
+                                  size_t datalen, int *errnop);
+libnss_files_hidden_proto (_nss_files_parse_proj)
+
+#endif /* _PROJECTP_H */
index 5c0ad1f..5c8a670 100644 (file)
@@ -21,6 +21,7 @@
 #define _USER_ATTRP_H
 
 #include <sys/types.h>
+#include <nss/nss.h>
 
 #define NSS_BUFLEN_USERATTR    1024
 
@@ -31,7 +32,7 @@ typedef struct userstr_s
        char *res1;
        char *res2;
        char *attr;
-} userstr_t;
+  } userstr_t;
 
 struct parser_data;
 extern int _nss_files_parse_userattr (char *line, struct userstr_s *result,