Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29416 Discussions

can ifort read from standard input or encrypted file?

ajboeckmannyahoo_com
1,736 Views
In my application, Fortran code must be compiled on the customer's computer. But the code is distributed as an encrypted file. The installation program will decrypt the Fortran code prior to compilation. With g95, it is possible to send the code
to the compiler using a pipeline: "decrypt sourcefile | g95 - "
Is there any way that ifort can be instructed to read from standard input so that a pipeline can be used?
Alternately, can ifort's input file sourcefile.f90 be in some way encrypted or hidden so that the customer cannot capture it?
0 Kudos
7 Replies
Ron_Green
Moderator
1,736 Views
In my application, Fortran code must be compiled on the customer's computer. But the code is distributed as an encrypted file. The installation program will decrypt the Fortran code prior to compilation. With g95, it is possible to send the code
to the compiler using a pipeline: "decrypt sourcefile | g95 - "
Is there any way that ifort can be instructed to read from standard input so that a pipeline can be used?
Alternately, can ifort's input file sourcefile.f90 be in some way encrypted or hidden so that the customer cannot capture it?

currently, no, this capability is not provided.

I am investigating how gcc/g++ and gfortran provide this capability, as we might wish to stay compatible. perhaps a feature request will come from this. I will post once I've completed my research.

ron
0 Kudos
rreis
New Contributor I
1,736 Views

currently, no, this capability is not provided.

I am investigating how gcc/g++ and gfortran provide this capability, as we might wish to stay compatible. perhaps a feature request will come from this. I will post once I've completed my research.

ron

Ronald, notice that g95 is a diferent project from gfortran. Check

http://www.g95.org/

(it's also open source but diferent)
0 Kudos
Ron_Green
Moderator
1,736 Views
Quoting - rreis

Ronald, notice that g95 is a diferent project from gfortran. Check

http://www.g95.org/

(it's also open source but diferent)

my mistake, I was aware of the difference but I must have skimmed over the original post too quickly (late afternoon eyes and brain).


0 Kudos
rreis
New Contributor I
1,736 Views
In my application, Fortran code must be compiled on the customer's computer. But the code is distributed as an encrypted file. The installation program will decrypt the Fortran code prior to compilation. With g95, it is possible to send the code
to the compiler using a pipeline: "decrypt sourcefile | g95 - "
Is there any way that ifort can be instructed to read from standard input so that a pipeline can be used?
Alternately, can ifort's input file sourcefile.f90 be in some way encrypted or hidden so that the customer cannot capture it?

maybe you can write a program to compile your program? it would be a binary installer which would decrypt the files to a tmp dir, compile and clean? you could use call System to use available tools in the OS. of course you would have a temporary dir that could be captured but that wouldn't be obvious. I don't know how you're installer works, is it binary? What stops the costumer from intercepting the pipeline? Can't the sensitive parts of the code be compiled as a library?

well, these are just some thoughts...
0 Kudos
ajboeckmannyahoo_com
1,736 Views
In my application, Fortran code must be compiled on the customer's computer. But the code is distributed as an encrypted file. The installation program will decrypt the Fortran code prior to compilation. With g95, it is possible to send the code
to the compiler using a pipeline: "decrypt sourcefile | g95 - "
Is there any way that ifort can be instructed to read from standard input so that a pipeline can be used?
Alternately, can ifort's input file sourcefile.f90 be in some way encrypted or hidden so that the customer cannot capture it?

currently, no, this capability is not provided.

I am investigating how gcc/g++ and gfortran provide this capability, as we might wish to stay compatible. perhaps a feature request will come from this. I will post once I've completed my research.

ron

0 Kudos
Ron_Green
Moderator
1,736 Views

I entered Feature Request DPD200137322 for this.

Features such as this typically appear in major versions, if at all. They have to be prioritized with all other features for future products. Thus, it could take anywhere from a year or more to 3 years (if it is accepted at all). I just wanted to set your expectations, I would not expect this to appear in a product in the near term. Thus, you should pursue another solution if you have immediate needs.

Thank you for sending this to us. I agree it is a good request and would make a good addition to the compiler.

ron
0 Kudos
ajboeckmannyahoo_com
1,736 Views
Thank you for doing this. It is too late for us right now , but may be useful in the future.

I entered Feature Request DPD200137322 for this.

Features such as this typically appear in major versions, if at all. They have to be prioritized with all other features for future products. Thus, it could take anywhere from a year or more to 3 years (if it is accepted at all). I just wanted to set your expectations, I would not expect this to appear in a product in the near term. Thus, you should pursue another solution if you have immediate needs.

Thank you for sending this to us. I agree it is a good request and would make a good addition to the compiler.

ron

0 Kudos
Reply