Magellan Linux

Annotation of /trunk/shadow/patches/shadow-4.0.18.1-nonis.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 461 - (hide annotations) (download)
Mon Feb 4 01:29:08 2008 UTC (16 years, 4 months ago) by niro
File size: 1795 byte(s)
-added uclibc patch

1 niro 461 --- src/login_nopam.c
2     +++ src/login_nopam.c
3     @@ -50,7 +50,9 @@
4     #include <netinet/in.h>
5     #include <arpa/inet.h> /* for inet_ntoa() */
6     extern struct group *getgrnam ();
7     +#ifdef USE_NIS
8     extern int innetgr ();
9     +#endif
10    
11     #if !defined(MAXHOSTNAMELEN) || (MAXHOSTNAMELEN < 64)
12     #undef MAXHOSTNAMELEN
13     @@ -178,6 +180,7 @@ static char *myhostname (void)
14     return (name);
15     }
16    
17     +#ifdef USE_NIS
18     /* netgroup_match - match group against machine or user */
19     static int
20     netgroup_match (const char *group, const char *machine, const char *user)
21     @@ -193,6 +196,7 @@ netgroup_match (const char *group, const
22    
23     return innetgr (group, machine, user, mydomain);
24     }
25     +#endif
26    
27     /* user_match - match a username against one token */
28     static int user_match (const char *tok, const char *string)
29     @@ -214,8 +218,10 @@ static int user_match (const char *tok,
30     *at = 0;
31     return (user_match (tok, string)
32     && from_match (at + 1, myhostname ()));
33     +#ifdef USE_NIS
34     } else if (tok[0] == '@') { /* netgroup */
35     return (netgroup_match (tok + 1, (char *) 0, string));
36     +#endif
37     } else if (string_match (tok, string)) { /* ALL or exact match */
38     return (YES);
39     } else if ((group = getgrnam (tok))) { /* try group membership */
40     @@ -271,9 +277,12 @@ static int from_match (const char *tok,
41     * contain a "." character. If the token is a network number, return YES
42     * if it matches the head of the string.
43     */
44     +#ifdef USE_NIS
45     if (tok[0] == '@') { /* netgroup */
46     return (netgroup_match (tok + 1, string, (char *) 0));
47     - } else if (string_match (tok, string)) { /* ALL or exact match */
48     + } else
49     +#endif
50     + if (string_match (tok, string)) { /* ALL or exact match */
51     return (YES);
52     } else if (tok[0] == '.') { /* domain: match last fields */
53     if ((str_len = strlen (string)) > (tok_len = strlen (tok))