remove NO_INETD by shuffling code around
This commit is contained in:
@@ -1353,10 +1353,6 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg }
|
||||
/* Define if you don't want to use mmap. */
|
||||
#define NO_MMAP 1
|
||||
|
||||
/* Define to 1 if inetd will never be used to invoke any of the
|
||||
daemons. */
|
||||
#define NO_INETD 1
|
||||
|
||||
#define NO_RAND_EGD_METHOD 1
|
||||
|
||||
/* Define if the Unix rand method is not defined */
|
||||
|
@@ -221,7 +221,7 @@ wait_for_connection(krb5_context context,
|
||||
|
||||
|
||||
int
|
||||
start_server(krb5_context context)
|
||||
start_server(krb5_context context, const char *port_str)
|
||||
{
|
||||
int e;
|
||||
struct kadm_port *p;
|
||||
@@ -230,6 +230,11 @@ start_server(krb5_context context)
|
||||
unsigned int num_socks = 0;
|
||||
int i;
|
||||
|
||||
if (port_str == NULL)
|
||||
port_str = "+";
|
||||
|
||||
parse_ports(context, port_str);
|
||||
|
||||
for(p = kadm_ports; p; p = p->next) {
|
||||
struct addrinfo hints, *ai, *ap;
|
||||
char portstr[32];
|
||||
|
@@ -141,7 +141,7 @@ random_password(char *, size_t);
|
||||
extern sig_atomic_t term_flag, doing_useful_work;
|
||||
|
||||
void parse_ports(krb5_context, const char*);
|
||||
int start_server(krb5_context);
|
||||
int start_server(krb5_context, const char*);
|
||||
|
||||
/* server.c */
|
||||
|
||||
|
@@ -171,7 +171,10 @@ main(int argc, char **argv)
|
||||
debug_port = htons(atoi(port_str));
|
||||
mini_inetd(debug_port, &sfd);
|
||||
} else {
|
||||
#ifndef NO_INETD
|
||||
#ifdef _WIN32
|
||||
pidfile(NULL);
|
||||
start_server(context, port_str);
|
||||
#else
|
||||
struct sockaddr_storage __ss;
|
||||
struct sockaddr *sa = (struct sockaddr *)&__ss;
|
||||
socklen_t sa_size = sizeof(__ss);
|
||||
@@ -183,16 +186,11 @@ main(int argc, char **argv)
|
||||
|
||||
if(roken_getsockname(STDIN_FILENO, sa, &sa_size) < 0 &&
|
||||
rk_SOCK_ERRNO == ENOTSOCK) {
|
||||
#endif
|
||||
parse_ports(context, port_str ? port_str : "+");
|
||||
pidfile(NULL);
|
||||
start_server(context);
|
||||
sfd = STDIN_FILENO;
|
||||
#ifndef NO_INETD
|
||||
} else {
|
||||
sfd = STDIN_FILENO;
|
||||
start_server(context, port_str);
|
||||
}
|
||||
#endif
|
||||
#endif /* _WIN32 */
|
||||
sfd = STDIN_FILENO;
|
||||
}
|
||||
|
||||
if(realm)
|
||||
|
Reference in New Issue
Block a user