Loading ...
Sorry, an error occurred while loading the content.
 

[bug?] include mechanism

Expand Messages
  • Marko Friedemann
    Hi list, I started playing around with Apache::ASP the other day and encountered a rather strange way of dealing with includes. Let s say I have the following
    Message 1 of 9 , Jul 6, 2004
      Hi list,

      I started playing around with Apache::ASP the other day and encountered
      a rather strange way of dealing with includes.

      Let's say I have the following situation:

      1 (folder)
      +-- A (file)
      +-- 2 (folder)
      +-- B (file)
      +-- C (file)

      Let's also say we let:
      A include B and
      B include C

      While we naturally use '#include file="2/B"' to include B from A, we
      also naturally use '#include file="C"' to include C from B.
      The problem is that this fails because it searches C in 1 rather than 2
      due to the include simply not being aware of the fact that it was
      basically called from within 2.
      Calling B directly works, because ASP is then aware of being run in 2
      and finds C accordingly.

      While I personally consider this a bug, or a flaw at least, I would like
      to hear the opinion of you guys.

      regards,
      Marko Friedemann
      --
      www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
      mfr@...


      ---------------------------------------------------------------------
      To unsubscribe, e-mail: asp-unsubscribe@...
      For additional commands, e-mail: asp-help@...
    • Marko Friedemann
      Hi list, I started playing around with Apache::ASP the other day and encountered a rather strange way of dealing with includes. Let s say I have the following
      Message 2 of 9 , Jul 7, 2004
        Hi list,

        I started playing around with Apache::ASP the other day and encountered
        a rather strange way of dealing with includes.

        Let's say I have the following situation:

        1 (folder)
        +-- A (file)
        +-- 2 (folder)
        +-- B (file)
        +-- C (file)

        Let's also say we let:
        A include B and
        B include C

        While we naturally use '#include file="2/B"' to include B from A, we
        also naturally use '#include file="C"' to include C from B.
        The problem is that this fails because it searches C in 1 rather than 2
        due to the include simply not being aware of the fact that it was
        basically called from within 2.
        Calling B directly works, because ASP is then aware of being run in 2
        and finds C accordingly.

        While I personally consider this a bug, or a flaw at least, I would like
        to hear the opinion of you guys.

        regards,
        Marko Friedemann
        --
        www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
        mfr@...


        ---------------------------------------------------------------------
        To unsubscribe, e-mail: asp-unsubscribe@...
        For additional commands, e-mail: asp-help@...
      • John Drago
        Maybe it should chdir into whatever directory each file it encounters, before Parse()ing it. Do you get the same problem if you use #include virtual= /2/C ? --
        Message 3 of 9 , Jul 7, 2004
          Maybe it should chdir into whatever directory each file it encounters,
          before Parse()ing it.

          Do you get the same problem if you use #include virtual="/2/C"?

          -- John Drago



          -----Original Message-----
          From: Marko Friedemann [mailto:mfr@...]
          Sent: Wednesday, July 07, 2004 2:14 AM
          To: asp@...
          Subject: [bug?] include mechanism

          Hi list,

          I started playing around with Apache::ASP the other day and encountered
          a rather strange way of dealing with includes.

          Let's say I have the following situation:

          1 (folder)
          +-- A (file)
          +-- 2 (folder)
          +-- B (file)
          +-- C (file)

          Let's also say we let:
          A include B and
          B include C

          While we naturally use '#include file="2/B"' to include B from A, we
          also naturally use '#include file="C"' to include C from B.
          The problem is that this fails because it searches C in 1 rather than 2
          due to the include simply not being aware of the fact that it was
          basically called from within 2.
          Calling B directly works, because ASP is then aware of being run in 2
          and finds C accordingly.

          While I personally consider this a bug, or a flaw at least, I would like
          to hear the opinion of you guys.

          regards,
          Marko Friedemann
          --
          www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
          mfr@...


          ---------------------------------------------------------------------
          To unsubscribe, e-mail: asp-unsubscribe@...
          For additional commands, e-mail: asp-help@...




          ---------------------------------------------------------------------
          To unsubscribe, e-mail: asp-unsubscribe@...
          For additional commands, e-mail: asp-help@...
        • Marko Friedemann
          ... That might be reasonable if it doesn t break anything else. ... Using #include virtual doesn t actually do anything. It just outputs the comment as if it
          Message 4 of 9 , Jul 7, 2004
            John Drago schrieb:

            > Maybe it should chdir into whatever directory each file it encounters,
            > before Parse()ing it.

            That might be reasonable if it doesn't break anything else.

            > Do you get the same problem if you use #include virtual="/2/C"?

            Using #include virtual doesn't actually do anything. It just outputs the
            comment as if it had missed the fact that it was meant to be considered.

            Actually, while looking at it, I can't see the reference to "virtual="
            in the code. I use 2.57 and line 724 in ASP.pm only has a regexp with
            "file=" in it. Would that be parsed elsewhere and need a bit of config
            in order for it to work?

            regards,
            Marko Friedemann
            --
            "Unsere Webseite arbeitet größtenteils mit CGI Scripts. Dies wird
            meines Wissens von Mozilla nicht unterstützt. Verwenden Sie bitte
            einen anderen Browser." -- Helmut S. - Technischer Support


            ---------------------------------------------------------------------
            To unsubscribe, e-mail: asp-unsubscribe@...
            For additional commands, e-mail: asp-help@...
          • John Drago
            Take a look at the documentation here: http://www.apache-asp.org/ssi.html Quote: That is not all! SSI is full featured. One of the things missing above is the
            Message 5 of 9 , Jul 7, 2004
              Take a look at the documentation here:
              http://www.apache-asp.org/ssi.html

              Quote:
              "That is not all! SSI is full featured. One of the things missing above is
              the
              <!--#include virtual=filename.cgi-->

              tag. This and many other SSI code extensions are available by filtering
              Apache::ASP output through Apache::SSI via the Apache::Filter and the Filter
              config options. For more information on how to wire Apache::ASP and
              Apache::SSI together, please see the Filter config option documented above.
              Also please see Apache::SSI for further information on the capabilities it
              offers."


              >> Maybe it should chdir into whatever directory each file it encounters,
              >> before Parse()ing it.
              >
              >That might be reasonable if it doesn't break anything else.
              >
              >> Do you get the same problem if you use #include virtual="/2/C"?
              >
              >Using #include virtual doesn't actually do anything. It just outputs the
              >comment as if it had missed the fact that it was meant to be considered.
              >
              >Actually, while looking at it, I can't see the reference to "virtual="
              >in the code. I use 2.57 and line 724 in ASP.pm only has a regexp with
              >"file=" in it. Would that be parsed elsewhere and need a bit of config
              >in order for it to work?
              >
              >regards,
              >Marko Friedemann
              >--
              >"Unsere Webseite arbeitet größtenteils mit CGI Scripts. Dies wird
              > meines Wissens von Mozilla nicht unterstützt. Verwenden Sie bitte
              > einen anderen Browser." -- Helmut S. - Technischer Support




              ---------------------------------------------------------------------
              To unsubscribe, e-mail: asp-unsubscribe@...
              For additional commands, e-mail: asp-help@...
            • Joshua Chamas
              ... This is simply how it works, that the base directory includes are done from is first the directory of the executing script, followed by the Global
              Message 6 of 9 , Jul 7, 2004
                Quoting Marko Friedemann <mfr@...>:

                > Hi list,
                >
                > I started playing around with Apache::ASP the other day and encountered
                > a rather strange way of dealing with includes.
                >
                > Let's say I have the following situation:
                >
                > 1 (folder)
                > +-- A (file)
                > +-- 2 (folder)
                > +-- B (file)
                > +-- C (file)
                >
                > Let's also say we let:
                > A include B and
                > B include C
                >
                > While we naturally use '#include file="2/B"' to include B from A, we
                > also naturally use '#include file="C"' to include C from B.
                > The problem is that this fails because it searches C in 1 rather than 2
                > due to the include simply not being aware of the fact that it was
                > basically called from within 2.
                > Calling B directly works, because ASP is then aware of being run in 2
                > and finds C accordingly.
                >
                > While I personally consider this a bug, or a flaw at least, I would like
                > to hear the opinion of you guys.
                >

                This is simply how it works, that the base directory includes are done from is
                first the directory of the executing script, followed by the Global directory
                and then any IncludesDir specified. This is really because the first directory
                searched is '.' and there has already been a chdir to that base directory of
                the executing script.

                Regards,

                Josh



                > regards,
                > Marko Friedemann
                > --
                > www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
                > mfr@...
                >
                >
                > ---------------------------------------------------------------------
                > To unsubscribe, e-mail: asp-unsubscribe@...
                > For additional commands, e-mail: asp-help@...
                >
                >

                ---------------------------------------------------------------------
                To unsubscribe, e-mail: asp-unsubscribe@...
                For additional commands, e-mail: asp-help@...
              • Marko Friedemann
                ... Well, yes. This IS how it works. The question is wether it is actually SUPPOSED to be that way and wether there is any security or whatever other reason
                Message 7 of 9 , Jul 8, 2004
                  Joshua Chamas schrieb:

                  > Quoting Marko Friedemann <mfr@...>:
                  >
                  >>While we naturally use '#include file="2/B"' to include B from A, we
                  >>also naturally use '#include file="C"' to include C from B.
                  >>The problem is that this fails because it searches C in 1 rather than 2
                  >>due to the include simply not being aware of the fact that it was
                  >>basically called from within 2.
                  >>Calling B directly works, because ASP is then aware of being run in 2
                  >>and finds C accordingly.
                  >>
                  >>While I personally consider this a bug, or a flaw at least, I would like
                  >>to hear the opinion of you guys.
                  >
                  > This is simply how it works, that the base directory includes are done from is
                  > first the directory of the executing script, followed by the Global directory
                  > and then any IncludesDir specified. This is really because the first directory
                  > searched is '.' and there has already been a chdir to that base directory of
                  > the executing script.

                  Well, yes. This IS how it works. The question is wether it is actually
                  SUPPOSED to be that way and wether there is any security or whatever
                  other reason for it to be so.
                  I did say that I consider this a flaw, because it is not what you
                  usually want to do.

                  regards,
                  Marko
                  --
                  www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
                  mfr@...


                  ---------------------------------------------------------------------
                  To unsubscribe, e-mail: asp-unsubscribe@...
                  For additional commands, e-mail: asp-help@...
                • Marko Friedemann
                  ... Doh, yeah, I actually read this page before. It wasn t, however, immediately brought to my attention when I tried the virtual include. I ll try to add SSI
                  Message 8 of 9 , Jul 8, 2004
                    John Drago schrieb:

                    > Take a look at the documentation here:
                    > http://www.apache-asp.org/ssi.html

                    Doh, yeah, I actually read this page before. It wasn't, however,
                    immediately brought to my attention when I tried the virtual include.
                    I'll try to add SSI and see what it does.

                    regards,
                    Marko
                    --
                    www.bmx-chemnitz.de -==- 20 Zoll in Chemnitz
                    mfr@...


                    ---------------------------------------------------------------------
                    To unsubscribe, e-mail: asp-unsubscribe@...
                    For additional commands, e-mail: asp-help@...
                  • Joshua Chamas
                    ... Yes, it is supposed to work that way. Currently the context of includes does in no way override the context of the base executing script. This is
                    Message 9 of 9 , Jul 8, 2004
                      Quoting Marko Friedemann <mfr@...>:
                      > Well, yes. This IS how it works. The question is wether it is actually
                      > SUPPOSED to be that way and wether there is any security or whatever
                      > other reason for it to be so.
                      > I did say that I consider this a flaw, because it is not what you
                      > usually want to do.
                      >

                      Yes, it is supposed to work that way. Currently the context of includes does in
                      no way override the context of the base executing script. This is supposed to
                      be that way. I have never wanted to relatively change the include path to the
                      context of an included include, and I am not convinced that this is what one
                      usually wants to do, but I do understand the point you are making. The fact is
                      that when things have been working the way they have been for 5 years, there
                      needs to be a compelling reason to change things.

                      Regards,

                      Josh

                      ---------------------------------------------------------------------
                      To unsubscribe, e-mail: asp-unsubscribe@...
                      For additional commands, e-mail: asp-help@...
                    Your message has been successfully submitted and would be delivered to recipients shortly.