On 2016/09/18 11:23, Jan Stary wrote:
> OK? Comments?

That looks better to me but I am swamped with the sqlite3 move and don't
have time to test at the moment.


> On Sep 14 16:50:43, h...@stare.cz wrote:
> > On Sep 13 17:50:12, danj+o...@chown.me wrote:
> > > And can you add # uses pledge() just before WANTLIB please?
> > 
> > OK.
> > 
> > On Sep 13 20:16:57, s...@spacehopper.org wrote:
> > > On 2016/09/13 13:03, Stuart Henderson wrote:
> > > > 
> > > > We also often defer pledge until after option parsing, when we have
> > > > a better idea of what is actually needed: for toast(/untoast/tcat)
> > > > this would allow a more accurate pledge because we'll then know
> > > > whether or not it needs filesystem access.
> > 
> > See below for a finer pledge():
> > 
> > * initially, restrict to "stdio rpath wpath cpath fattr"
> > * if we are tcat(1), restrict to "stdio rpath"
> > * if we are just a filter, restrict to "stdio"
> > 
> > The "fattr" is for preserving mtime.
> > 
> > The following works with these restrictions:
> > 
> >  $ toast file
> >  $ tcat file.gsm > file
> >  $ untoast file.gsm
> >  $ toast < file > file.gsm
> >  $ untoast < file.gsm > file
> > 
> >     Jan
> > 
> > 
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/audio/gsm/Makefile,v
> > retrieving revision 1.45
> > diff -u -p -r1.45 Makefile
> > --- Makefile        13 Sep 2016 11:33:28 -0000      1.45
> > +++ Makefile        14 Sep 2016 14:48:53 -0000
> > @@ -3,6 +3,7 @@
> >  COMMENT=   GSM audio codec library and converter
> >  
> >  DISTNAME=  gsm-1.0.15
> > +REVISION=  0
> >  WRKDIST=   ${WRKDIR}/gsm-1.0-pl15
> >  
> >  SHARED_LIBS=       gsm     1.0
> > @@ -16,6 +17,7 @@ MAINTAINER=       Stuart Henderson <sthen@open
> >  # ISC-like
> >  PERMIT_PACKAGE_CDROM=      Yes
> >  
> > +# uses pledge(2)
> >  WANTLIB += c
> >  
> >  MASTER_SITES=      ${HOMEPAGE}
> > Index: patches/patch-src_toast_c
> > ===================================================================
> > RCS file: patches/patch-src_toast_c
> > diff -N patches/patch-src_toast_c
> > --- /dev/null       1 Jan 1970 00:00:00 -0000
> > +++ patches/patch-src_toast_c       14 Sep 2016 14:48:53 -0000
> > @@ -0,0 +1,47 @@
> > +$OpenBSD$
> > +--- src/toast.c.orig       Wed Apr 26 21:14:26 2006
> > ++++ src/toast.c    Wed Sep 14 14:14:29 2016
> > +@@ -129,9 +129,22 @@ static void parse_argv0 P1((av0), char * av0 )
> > +    *  and decode as well.
> > +    */
> > + 
> > +-  if (!strncmp(av0, "un", 2)) f_decode = 1;
> > ++  if (pledge("stdio rpath wpath cpath fattr", NULL) == -1) {
> > ++          perror("pledge");
> > ++          exit(1);
> > ++  }
> > ++
> > ++  if (!strncmp(av0, "un", 2)) {
> > ++          f_decode = 1;
> > ++  }
> > +   if (  (l = strlen(av0)) >= 3 /* strlen("cat") */
> > +-     && !strcmp( av0 + l - 3, "cat" )) f_cat = f_decode = 1;
> > ++     && !strcmp( av0 + l - 3, "cat" )) {
> > ++          if (pledge("stdio rpath", NULL) == -1) {
> > ++                  perror("pledge");
> > ++                  exit(1);
> > ++          }
> > ++          f_cat = f_decode = 1;
> > ++  }
> > + }
> > + 
> > + 
> > +@@ -793,8 +806,16 @@ int main P2((ac, av), int ac, char **av)
> > + 
> > +   catch_signals(onintr);
> > + 
> > +-  if (ac <= 0) process( (char *)0 );
> > +-  else while (ac--) process( *av++ );
> > ++  if (ac <= 0) {
> > ++          if (pledge("stdio", NULL) == -1) {
> > ++                  perror("pledge");
> > ++                  exit(1);
> > ++          }
> > ++          process( (char *)0 );
> > ++  } else {
> > ++          while (ac--)
> > ++                  process( *av++ );
> > ++  }
> > + 
> > +   exit(0);
> > + }
> 

Reply via email to