shishi-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cleanup.


From: shishi-commit
Subject: Cleanup.
Date: Thu, 18 Dec 2003 07:27:46 +0100

Commit from jas 2003-12-18 07:27 CET
Cleanup.
Module File name Revision
shishi src/shishid.c 1.73 >>> 1.74

shishi/src/shishid.c   1.73 >>> 1.74
Line 708
      }
  }
 
- int quit = 0;
-
  static void
- ctrlc (int signum)
- {
-   quit = 1;
- }
-
- static int
  kdc_listen ()
  {
    struct listenspec *ls;
Line 734
  {
    if (!arg.quiet_flag)
      printf ("failed\n");
-   perror ("socket");
+   error (0, errno, "Cannot listen on %s because socket failed",
+  ls->str);
    ls->sockfd = 0;
    continue;
  }
Line 745
  {
    if (!arg.quiet_flag)
      printf ("failed\n");
-   perror ("setsockopt");
+   error (0, errno, "Cannot listen on %s because setsockopt failed",
+  ls->str);
    close (ls->sockfd);
    ls->sockfd = 0;
    continue;
Line 755
  {
    if (!arg.quiet_flag)
      printf ("failed\n");
-   perror ("bind");
+   error (0, errno, "Cannot listen on %s because bind failed",
+  ls->str);
    close (ls->sockfd);
    ls->sockfd = 0;
    continue;
Line 765
  {
    if (!arg.quiet_flag)
      printf ("failed\n");
-   perror ("listen");
+   error (0, errno, "Cannot listen on %s because listen failed",
+  ls->str);
    close (ls->sockfd);
    ls->sockfd = 0;
    continue;
Line 777
      }
 
    if (maxfd == 0)
-     {
-       fprintf (stderr, "Failed to bind any ports.\n");
-       return 1;
-     }
+     error (EXIT_FAILURE, 0, "Failed to bind any ports.");
 
    if (!arg.quiet_flag)
      printf ("Listening on %d ports...\n", maxfd);
-
-   return 0;
  }
 
  static struct listenspec *
Line 1009
      newls->sockfd, ls->sockfd, newls->str);
  }
 
+ int quit = 0;
+
+ static void
+ ctrlc (int signum)
+ {
+   quit = 1;
+ }
+
  #define MAX(a,b) ((a) > (b) ? (a) : (b))
 
- static int
+ static void
  kdc_loop (void)
  {
    struct listenspec *ls, *last;
Line 1019
    int maxfd = 0, i;
    int rc;
 
+   signal (SIGINT, ctrlc);
+   signal (SIGTERM, ctrlc);
+
    while (!quit)
      {
        do
Line 1038
        if (rc < 0)
  {
    if (errno != EINTR)
-     perror ("select");
+     error (0, errno, "Error listening to sockets (%d)", rc);
    continue;
  }
 
Line 1051
    else
      kdc_handle2 (ls);
      }
-
-   return 0;
  }
 
- static int
+ static void
  kdc_setuid (void)
  {
    struct passwd *passwd;
    int rc;
 
    if (!arg.setuid_given)
-     return 0;
+     return;
 
    passwd = getpwnam (arg.setuid_arg);
    if (passwd == NULL)
-     {
-       perror ("setuid: getpwnam");
-       return 1;
-     }
+     if (errno)
+       error (EXIT_FAILURE, errno, "Cannot setuid because getpwnam failed");
+     else
+       error (EXIT_FAILURE, 0, "No such user `%s'.", arg.setuid_arg);
 
    rc = setuid (passwd->pw_uid);
    if (rc == -1)
-     {
-       perror ("setuid");
-       return 1;
-     }
+     error (EXIT_FAILURE, errno, "Cannot setuid");
 
    if (!arg.quiet_flag)
      printf ("User identity set to `%s' (%d)...\n",
      passwd->pw_name, passwd->pw_uid);
-
-   return 0;
  }
 
  static int
- launch (void)
+ setup_fatal_krberror (Shishi * handle)
  {
+   Shishi_asn1 krberr;
    int rc;
 
-   rc = kdc_listen ();
-   if (rc != 0)
+   krberr = shishi_krberror (handle);
+   if (!krberr)
+     return SHISHI_MALLOC_ERROR;
+
+   rc = shishi_krberror_set_etext (handle, krberr,
+   "Internal KDC error, contact administrator");
+   if (rc != SHISHI_OK)
      return rc;
 
+   rc = shishi_krberror_der (handle, krberr, &fatal_krberror,
+     &fatal_krberror_len);
+   if (rc != SHISHI_OK)
+     return rc;
+
+   return SHISHI_OK;
+ }
+
+ static void
+ doit (void)
+ {
+   int err;
+
+   err = shishi_init_server_with_paths (&handle, arg.configuration_file_arg);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot initialize Shishi: %s (%d)",
+    shishi_strerror (err), err);
+
+   if (arg.verbose_flag > 1)
+     shishi_cfg (handle, "verbose");
+
+   if (arg.verbose_flag > 2)
+     shishi_cfg (handle, "verbose-noice");
+
+   if (arg.verbose_flag > 3)
+     shishi_cfg (handle, "verbose-asn1");
+
+   if (arg.verbose_flag > 4)
+     shishi_cfg (handle, "verbose-crypto");
+
+   err = shisa_init (&dbh);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot initialize Shisa: %s (%d)",
+    shisa_strerror (err), err);
+
+   err = setup_fatal_krberror (handle);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot allocate fatal error packet: %s (%d)",
+    shisa_strerror (err), err);
+
+ #ifdef USE_STARTTLS
+   if (!arg.quiet_flag)
+     printf ("Initializing GNUTLS...\n");
+   err = gnutls_global_init ();
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot initialize GNUTLS: %s (%d)",
+    gnutls_strerror (err), err);
+   err = gnutls_dh_params_init (&dh_params);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot initialize GNUTLS DH parameters: %s (%d)",
+    gnutls_strerror (err), err);
+   err = gnutls_dh_params_generate2 (dh_params, DH_BITS);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot generate GNUTLS DH parameters: %s (%d)",
+    gnutls_strerror (err), err);
+   err = gnutls_anon_allocate_server_credentials (&anoncred);
+   if (err)
+     error (EXIT_FAILURE, 0, "Cannot allocate GNUTLS credential: %s (%d)",
+    gnutls_strerror (err), err);
+   gnutls_anon_set_server_dh_params (anoncred, dh_params);
+   if (!arg.quiet_flag)
+     printf ("Initializing GNUTLS...done\n");
+ #endif
+
+   kdc_listen ();
+
  #ifdef LOG_PERROR
    openlog (PACKAGE, LOG_CONS | LOG_PERROR, LOG_DAEMON);
  #else
    openlog (PACKAGE, LOG_CONS, LOG_DAEMON);
  #endif
 
-   rc = kdc_setuid ();
-   if (rc != 0)
-     return rc;
+   kdc_setuid ();
 
-   signal (SIGINT, ctrlc);
-   signal (SIGTERM, ctrlc);
-
-   rc = kdc_loop ();
-   if (rc != 0)
-     return rc;
+   kdc_loop ();
 
    kdc_unlisten ();
 
-   return 0;
+ #ifdef USE_STARTTLS
+   if (!arg.quiet_flag)
+     printf ("Deinitializing GNUTLS...\n");
+   gnutls_global_deinit ();
+   if (!arg.quiet_flag)
+     printf ("Deinitializing GNUTLS...done\n");
+ #endif
+
+   shisa_done (dbh);
+   shishi_done (handle);
  }
 
  static void
Line 1230
      }
  }
 
- static int
- setup_fatal_krberror (Shishi * handle)
- {
-   Shishi_asn1 krberr;
-   int rc;
-
-   krberr = shishi_krberror (handle);
-   if (!krberr)
-     return SHISHI_MALLOC_ERROR;
-
-   rc = shishi_krberror_set_etext (handle, krberr,
-   "Internal KDC error, contact administrator");
-   if (rc != SHISHI_OK)
-     return rc;
-
-   rc = shishi_krberror_der (handle, krberr, &fatal_krberror,
-     &fatal_krberror_len);
-   if (rc != SHISHI_OK)
-     return rc;
-
-   return SHISHI_OK;
- }
-
- static int
- init (void)
- {
-   int err;
-
-   err = shishi_init_server_with_paths (&handle, arg.configuration_file_arg);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot initialize Shishi: %s (%d)",
-    shishi_strerror (err), err);
-
-   if (arg.verbose_flag > 1)
-     shishi_cfg (handle, "verbose");
-
-   if (arg.verbose_flag > 2)
-     shishi_cfg (handle, "verbose-noice");
-
-   if (arg.verbose_flag > 3)
-     shishi_cfg (handle, "verbose-asn1");
-
-   if (arg.verbose_flag > 4)
-     shishi_cfg (handle, "verbose-crypto");
-
-   err = shisa_init (&dbh);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot initialize Shisa: %s (%d)",
-    shisa_strerror (err), err);
-
-   err = setup_fatal_krberror (handle);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot allocate fatal error packet: %s (%d)",
-    shisa_strerror (err), err);
-
- #ifdef USE_STARTTLS
-   if (!arg.quiet_flag)
-     printf ("Initializing GNUTLS...\n");
-   err = gnutls_global_init ();
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot initialize GNUTLS: %s (%d)",
-    gnutls_strerror (err), err);
-   err = gnutls_dh_params_init (&dh_params);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot initialize GNUTLS DH parameters: %s (%d)",
-    gnutls_strerror (err), err);
-   err = gnutls_dh_params_generate2 (dh_params, DH_BITS);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot generate GNUTLS DH parameters: %s (%d)",
-    gnutls_strerror (err), err);
-   err = gnutls_anon_allocate_server_credentials (&anoncred);
-   if (err)
-     error (EXIT_FAILURE, 0, "Cannot allocate GNUTLS credential: %s (%d)",
-    gnutls_strerror (err), err);
-   gnutls_anon_set_server_dh_params (anoncred, dh_params);
-   if (!arg.quiet_flag)
-     printf ("Initializing GNUTLS...done\n");
- #endif
-
-   err = launch ();
-
- #ifdef USE_STARTTLS
-   if (!arg.quiet_flag)
-     printf ("Deinitializing GNUTLS...\n");
-   gnutls_global_deinit ();
-   if (!arg.quiet_flag)
-     printf ("Deinitializing GNUTLS...done\n");
- #endif
-
-   shisa_done (dbh);
-   shishi_done (handle);
-
-   return err;
- }
-
  int
  main (int argc, char *argv[])
  {
Line 1354
      arg.listen_arg = strdup (LISTEN_DEFAULT);
    parse_listen (arg.listen_arg);
 
-   rc = init ();
+   doit ();
 
    free (arg.listen_arg);
    free (arg.configuration_file_arg);
    if (arg.setuid_arg)
      free (arg.setuid_arg);
 
-   return rc;
+   return EXIT_SUCCESS;
  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]