shishi-commit
[Top][All Lists]
Advanced

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

Use asprintf. [...]


From: shishi-commit
Subject: Use asprintf. [...]
Date: Thu, 11 Dec 2003 02:14:14 +0100

Commit from jas 2003-12-11 02:14 CET
Use asprintf.
Send 4 length bytes for TCP.
Fix.
Module File name Revision
shishi src/shishid.c 1.60 >>> 1.61

shishi/src/shishid.c   1.60 >>> 1.61
Line 132
  /* Get error. */
  #include "error.h"
 
+ /* Get asprintf. */
+ #include "vasprintf.h"
+
  /* Get program_name, etc. */
  #include "progname.h"
 
Line 170
    int port;
    int type;
    int sockfd;
-   char buf[BUFSIZ];
+   char buf[BUFSIZ]; /* XXX */
    size_t bufpos;
  };
 
Line 292
    rc = shishi_as (handle, &as);
    if (rc != SHISHI_OK)
      {
-       syslog (LOG_ERR, "Incoming request failed: Cannot create AS: %s\n",
-       shishi_strerror (rc));
-       /* XXX hard coded KRB-ERROR? */
-       *out = strdup ("foo");
-       *outlen = strlen (*out);
+       syslog (LOG_ERR, "Cannot create AS: %s\n", shishi_strerror (rc));
        return rc;
      }
 
Line 314
      rc = shishi_as_rep_der (as, out, outlen);
    if (rc != SHISHI_OK)
      {
-       syslog (LOG_ERR,
-       "Incoming request failed: Cannot DER encode reply: %s\n",
-       shishi_strerror (rc));
-       /* XXX hard coded KRB-ERROR? */
-       *out = strdup ("aaaaaa");
-       *outlen = strlen (*out);
+       syslog (LOG_ERR, "Cannot DER encode reply: %s\n", shishi_strerror (rc));
        return rc;
      }
 
Line 547
    switch (shishi_asn1_msgtype (handle, node))
      {
      case SHISHI_MSGTYPE_AS_REQ:
+       puts ("Processing AS-REQ...");
        rc = asreq (node, out, outlen);
        break;
 
      case SHISHI_MSGTYPE_TGS_REQ:
+       puts ("Processing TGS-REQ...");
        rc = tgsreq (node, out, outlen);
        break;
 
Line 565
        if (rc != SHISHI_OK)
  return rc;
 
+       rc = shishi_krberror_set_realm (handle, krberr, "unknown");
+       if (rc != SHISHI_OK)
+ return rc;
+
        rc = shishi_krberror_der (handle, krberr, out, outlen);
        if (rc != SHISHI_OK)
  return rc;
Line 731
  ls->sockfd = accept (listenspec[i].sockfd, &ls->addr, &length);
  sin = (struct sockaddr_in *) &ls->addr;
  str = inet_ntoa (sin->sin_addr);
- ls->str = xmalloc (strlen (listenspec[i].str) +
-    strlen (" peer ") + strlen (str) + 1);
- sprintf (ls->str, "%s peer %s", listenspec[i].str,
-  str);
+ asprintf (&ls->str, "%s peer %s", listenspec[i].str, str);
  puts (ls->str);
        }
      else
Line 855
 
      if (p && plen > 0)
        {
+ if (listenspec[i].type == SOCK_STREAM)
+   {
+     uint32_t len = htonl (plen) + 4;
+     do
+       sent_bytes = sendto (ls->sockfd, &len, 4,
+    0, &addr, length);
+     while (sent_bytes == -1 && errno == EAGAIN);
+   }
+
  do
    sent_bytes = sendto (ls->sockfd, p, plen,
         0, &addr, length);



reply via email to

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