Kerberos at configure time for INN 2.4.4

Julien ÉLIE julien at trigofacile.com
Mon May 5 08:29:55 UTC 2008


>> We also need the perl 5.10 fix.

With a better wrapping, it is for INN STABLE:

Index: innd/perl.c
===================================================================
--- innd/perl.c (révision 7765)
+++ innd/perl.c (copie de travail)
@@ -240,6 +240,7 @@
 PLstats(void)
 {
     dSP;
+    char *argv[] = { NULL };

     if (perl_get_cv("filter_stats", false) == NULL)
         return NULL;
@@ -249,7 +250,7 @@

        ENTER;
        SAVETMPS;
-       perl_call_argv("filter_stats", G_EVAL | G_NOARGS, NULL);
+       perl_call_argv("filter_stats", G_EVAL | G_NOARGS, argv);
        SPAGAIN;
         result = POPp;
         if (result != NULL && *result)
Index: lib/perl.c
===================================================================
--- lib/perl.c  (révision 7765)
+++ lib/perl.c  (copie de travail)
@@ -62,6 +62,7 @@
 PerlFilter(bool value)
 {
     dSP;
+    char *argv[] = { NULL };

     if (value == PerlFilterActive)
         return true;
@@ -71,7 +72,7 @@
         if (perl_get_cv("filter_end", false) != NULL) {
             ENTER;
             SAVETMPS;
-            perl_call_argv("filter_end", G_EVAL | G_DISCARD | G_NOARGS, NULL);
+            perl_call_argv("filter_end", G_EVAL | G_DISCARD | G_NOARGS, argv);
             if (SvTRUE(ERRSV)) {
                 syslog (L_ERROR, "SERVER perl function filter_end died: %s",
                         SvPV(ERRSV, PL_na));
@@ -172,11 +173,10 @@
     ENTER ;
     SAVETMPS ;

-    argv[0] = filterfile ;
-    argv[1] = NULL ;
-
+    argv[0] = NULL;
+
     if (perl_get_cv("filter_before_reload", false) != NULL)    {
-        perl_call_argv("filter_before_reload",G_EVAL|G_DISCARD|G_NOARGS,NULL);
+        perl_call_argv("filter_before_reload", G_EVAL|G_DISCARD|G_NOARGS, argv);
         if (SvTRUE(ERRSV))     /* check $@ */ {
             syslog (L_ERROR,"SERVER perl function filter_before_reload died: %s",
                     SvPV(ERRSV, PL_na)) ;
@@ -185,6 +185,9 @@
         }
     }

+    argv[0] = filterfile ;
+    argv[1] = NULL ;
+
     PerlSilence();
     perl_call_argv ("_load_", 0, argv) ;
     PerlUnSilence();
@@ -209,8 +212,9 @@
         PerlFilter (false) ;
     }

+    argv[0] = NULL;
     if (perl_get_cv("filter_after_reload", false) != NULL) {
-        perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, NULL);
+        perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, argv);
         if (SvTRUE(ERRSV))     /* check $@ */ {
             syslog (L_ERROR,"SERVER perl function filter_after_reload died: %s",
                     SvPV(ERRSV, PL_na)) ;
Index: nnrpd/perl.c
===================================================================
--- nnrpd/perl.c        (révision 7765)
+++ nnrpd/perl.c        (copie de travail)
@@ -63,6 +63,7 @@
    HE            *scan;
    SV            *modswitch;
    int            OtherSize;
+   char *argv[] = { NULL };

    if(!PerlLoaded) {
        loadPerl();
@@ -112,7 +113,7 @@
    sv_setpv(body, article);

    /* Call the filtering function */
-   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, NULL);
+   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, argv);

    SPAGAIN;




More information about the inn-workers mailing list