Magellan Linux

Annotation of /trunk/netkit-rsh/netkit-rsh-0.17-nohostcheck.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 97 - (hide annotations) (download)
Fri Jan 19 23:50:26 2007 UTC (17 years, 4 months ago) by niro
File size: 4385 byte(s)
new files

1 niro 97 Binary files netkit-rsh-0.17.orig/rlogind/.error.txt.swp and netkit-rsh-0.17.new/rlogind/.error.txt.swp differ
2     diff -uNr netkit-rsh-0.17.orig/rlogind/network.c netkit-rsh-0.17.new/rlogind/network.c
3     --- netkit-rsh-0.17.orig/rlogind/network.c Wed Oct 8 12:29:50 2003
4     +++ netkit-rsh-0.17.new/rlogind/network.c Wed Oct 8 13:44:42 2003
5     @@ -90,7 +90,7 @@
6    
7    
8     static char *
9     -find_hostname(const struct sockaddr_in *fromp, int *hostokp)
10     +find_hostname(const struct sockaddr_in *fromp, int no_host_check, int *hostokp)
11     {
12     struct hostent *hop;
13     char *hname;
14     @@ -102,7 +102,7 @@
15     hname = strdup(inet_ntoa(fromp->sin_addr));
16     hostok = 1;
17     }
18     - else if (check_all || local_domain(hop->h_name)) {
19     + else if ((check_all || local_domain(hop->h_name )) && !no_host_check ) {
20     /*
21     * If name returned by gethostbyaddr is in our domain,
22     * attempt to verify that we haven't been fooled by someone
23     @@ -143,7 +143,7 @@
24    
25    
26     char *
27     -network_init(int f, int *hostokp)
28     +network_init(int f, int no_host_check, int *hostokp)
29     {
30     struct sockaddr_in from, *fromp;
31     socklen_t fromlen;
32     @@ -177,7 +177,7 @@
33    
34     alarm(0);
35    
36     - hname = find_hostname(fromp, hostokp);
37     + hname = find_hostname(fromp,no_host_check, hostokp);
38    
39     port = ntohs(fromp->sin_port);
40     if (fromp->sin_family != AF_INET ||
41     diff -uNr netkit-rsh-0.17.orig/rlogind/rlogind.c netkit-rsh-0.17.new/rlogind/rlogind.c
42     --- netkit-rsh-0.17.orig/rlogind/rlogind.c Wed Oct 8 12:29:50 2003
43     +++ netkit-rsh-0.17.new/rlogind/rlogind.c Wed Oct 8 12:58:51 2003
44     @@ -84,6 +84,7 @@
45     int use_rhosts = 1;
46     int allow_root_rhosts = 0;
47     int deny_all_rhosts_hequiv = 0;
48     +static int no_host_check = 0;
49    
50     static char oobdata[] = {(char)TIOCPKT_WINDOW};
51     static char line[MAXPATHLEN];
52     @@ -386,7 +387,7 @@
53     int hostok;
54     char lusername[32], rusername[32], termtype[256];
55    
56     - hname = network_init(netfd, &hostok);
57     + hname = network_init(netfd, no_host_check, &hostok);
58    
59     getstr(rusername, sizeof(rusername), "remuser too long");
60     getstr(lusername, sizeof(lusername), "locuser too long");
61     @@ -439,15 +440,16 @@
62     openlog("rlogind", LOG_PID | LOG_CONS, LOG_AUTH);
63    
64     opterr = 0;
65     - while ((ch = getopt(argc, argv, "ahLln")) != EOF) {
66     + while ((ch = getopt(argc, argv, "ahLlDn")) != EOF) {
67     switch (ch) {
68     case 'a': check_all = 1; break;
69     case 'h': allow_root_rhosts = 1; break;
70     case 'L': deny_all_rhosts_hequiv = 1; break;
71     case 'l': use_rhosts = 0; break;
72     + case 'D': no_host_check = 1; break;
73     case 'n': keepalive = 0; break;
74     case '?': default:
75     - syslog(LOG_ERR, "usage: rlogind [-ahLln]");
76     + syslog(LOG_ERR, "usage: rlogind [-ahLlDn]");
77     break;
78     }
79     }
80     diff -uNr netkit-rsh-0.17.orig/rlogind/rlogind.h netkit-rsh-0.17.new/rlogind/rlogind.h
81     --- netkit-rsh-0.17.orig/rlogind/rlogind.h Wed Oct 8 12:29:50 2003
82     +++ netkit-rsh-0.17.new/rlogind/rlogind.h Wed Oct 8 12:58:50 2003
83     @@ -3,7 +3,7 @@
84     void fatal(int f, const char *msg, int syserr);
85    
86     /* network.c */
87     -char *network_init(int fd, int *hostokp);
88     +char *network_init(int fd, int no_host_check, int *hostokp);
89     void network_confirm(void);
90     void network_anticonfirm(void);
91     void network_close(void);
92     diff -uNr netkit-rsh-0.17.orig/rshd/rshd.c netkit-rsh-0.17.new/rshd/rshd.c
93     --- netkit-rsh-0.17.orig/rshd/rshd.c Wed Oct 8 12:29:50 2003
94     +++ netkit-rsh-0.17.new/rshd/rshd.c Wed Oct 8 10:43:04 2003
95     @@ -90,13 +90,14 @@
96     static pam_handle_t *pamh;
97     #endif /* USE_PAM */
98    
99     -#define OPTIONS "ahlLn"
100     +#define OPTIONS "ahlLnD"
101    
102     static int keepalive = 1;
103     static int check_all = 0;
104     static int paranoid = 0;
105     static int sent_null;
106     -static int allow_root_rhosts=0;
107     +static int allow_root_rhosts = 0;
108     +static int no_host_check = 0;
109    
110     char username[20] = "USER=";
111     char homedir[64] = "HOME=";
112     @@ -305,6 +306,7 @@
113     /*
114     * Attempt to confirm the DNS.
115     */
116     +
117     #ifdef RES_DNSRCH
118     _res.options &= ~RES_DNSRCH;
119     #endif
120     @@ -323,6 +325,8 @@
121     }
122     syslog(LOG_NOTICE, "Host addr %s not listed for host %s",
123     inet_ntoa(fromp->sin_addr), hp->h_name);
124     + if ( no_host_check == 1 )
125     + return hostname;
126     fail("Host address mismatch for %s\n",
127     remuser, inet_ntoa(fromp->sin_addr), locuser, cmdbuf);
128     return NULL; /* not reachable */
129     @@ -596,6 +600,10 @@
130     paranoid = 1;
131     break;
132    
133     + case 'D':
134     + no_host_check = 1;
135     + break;
136     +
137     case '?':
138     default:
139     syslog(LOG_ERR, "usage: rshd [-%s]", OPTIONS);