Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jun 2001 18:47:17 -0400 (EDT)
From:      Mike Heffner <mheffner@novacoxmail.com>
To:        Garance A Drosihn <drosih@rpi.edu>
Cc:        freebsd-audit@freebsd.org, freebsd-print@bostonradio.org
Subject:   RE: Initial ctlinfo, for checking incoming jobs to lpd
Message-ID:  <XFMail.20010628184717.mheffner@novacoxmail.com>
In-Reply-To: <p0510100db760298f4bb4@[128.113.24.47]>

next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format
--_=XFMail.1.5.0.FreeBSD:20010628184717:405=_
Content-Type: text/plain; charset=us-ascii


On 28-Jun-2001 Garance A Drosihn wrote:
| The following patch would add a new source file to lpr/common_source,
| called ctlinfo.c.  While I have several plans for ctlinfo.c, this first
| cut just replaces calls to link & unlink in lpd/recvjob.c with a call
| to a new routine which does a whole bunch of work.


I'm not too familiar with the code. It's looks pretty good altogether. Here's
just a few little things I noticed:

| +
| +struct cjobinfo      *

style(9) bug, extra spaces before asterick

| +ctl_readcf(const char *ptrname, const char *cfname)
| +{
| +     int id;
| +     char *lbuff;
| +     FILE *cfile;
| +     struct cjprivate *cpriv;
| +     size_t msize, sroom, sroom2;
| +
| +     cfile = fopen(cfname, "r");
| +     if (cfile == NULL) {
| +             syslog(LOG_ERR, "%s: ctl_readcf error open(%s): %s",
| +                 ptrname, cfname, strerror(errno));
| +             return NULL;
| +     }

should be `return (NULL);'

| +
| +     sroom = roundup(sizeof(struct cjprivate), 8);
| +     sroom2 = sroom + strlen(cfname) + 1;
| +     sroom2 = roundup(sroom2, 8);
| +     msize = sroom2 + CTI_LINEMAX;
| +     msize = roundup(msize, 8);
| +     cpriv = (struct cjprivate *)malloc(msize);
| +     if (cpriv == NULL)
| +             return NULL;
| +     memset(cpriv, 0, msize);
| +
| +     cpriv->pub.cji_fname = (char *)(cpriv + sroom);
| +     strcpy(cpriv->pub.cji_fname, cfname);
| +     cpriv->cji_buff = (char *)(cpriv + sroom2);
| +     cpriv->cji_eobuff = (char *)(cpriv + msize - 1);
| +
| +     cpriv->cji_fstream = cfile;
| +
| +     /*
| +      * Copy job-attribute values from control file to the struct of
| +      * "public" information.  In some cases, it is invalid for the
| +      * value to be a null-string, so that is ignored.
| +      */
| +     while ((lbuff = ctl_getline(&(cpriv->pub)))) {

should test against != NULL.

[snip]

| +     /*
| +      * Some lpr implementations on PC's set a null-string for their
| +      * hostname.  A MacOS 10 system which has not correctly setup
| +      * /etc/hostconfig will claim a hostname of 'localhost'.  Anything
| +      * with blanks in it would be an invalid value for hostname.  For
| +      * any of these invalid hostname values, replace the given value
| +      * with the name of the host that this job is coming from.
| +      */
| +     nogood = 0;
| +     if (cjinf->cji_orighost == NULL)
| +             nogood = 1;
| +     else if (strcmp(cjinf->cji_orighost, ".na.") == NULL)
| +             nogood = 1;
| +     else if (strcmp(cjinf->cji_orighost, "localhost") == NULL)
| +             nogood = 1;

strcmp() returns 0 for match

[snip]

| +++ common_source/lp.h        2001/06/28 00:22:01
| @@ -267,6 +267,7 @@
|   char        *pcaperr(int _error);
|   void         prank(int _n);
|   void         process(const struct printer *_pp, char *_file);
| +void  ctl_renametf(const char *_ptrname, const char *_tfname);

This should line up.


Later,

Mike

-- 
  Mike Heffner         <mheffner@[acm.]vt.edu>
  Fredericksburg, VA       <mikeh@FreeBSD.org>


--_=XFMail.1.5.0.FreeBSD:20010628184717:405=_
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iD8DBQE7O7P0FokZQs3sv5kRAp1HAJ4hZek92fT5zdo+/sdeFRkPCSQLfwCgmGeQ
9GHuuyUMqoMDdmf8Y7HCAe8=
=HU12
-----END PGP SIGNATURE-----

--_=XFMail.1.5.0.FreeBSD:20010628184717:405=_--
End of MIME message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20010628184717.mheffner>