Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-05 Thread Gyle Iverson
You are spot on Ian. It was a fun and tedious exercise. And you are right.
The internals of each interpreter and its op codes are quite different. 

I wanted to answer the same question of how does one thing turn into
another. And, can I reverse that? 

history
The first decompiler was for Prime INFORMATION in 1982. There wasn't
documentation available to me per se. However, looking through their
compiled libraries you could glean the names of the op codes. Returning the
statements and functions was straight forward. Recovering the logical
structure of the program was the heavy lift. Way back then, what discussions
I could find on logical structure recovery all said it was impossible. I
discovered a way to take the distinct graph patterns associated with each
compiled structure and reconstruct the original structure. That was a fun
puzzle. Still today, most decompilers only return GOTO-filled source code. I
always insisted on no-GOTOs (unless the original code was a pile of
spaghetti originally) and there was no other way to reconstruct the program.

The UniVerse decompiler came out in 1992. VMark was nice enough to leave a
lot of useful information in some C language header files distributed with
the product. I briefly looked at doing a UniData decompiler and never found
sufficient time to dedicate to cracking that. Lee Leitner had a UniData
decompiler on the market for a while. 
/history

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of McGowan, Ian
Sent: Friday, January 04, 2013 8:00 PM
To: U2 Users List
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global
catalog]

Seems like a fun, if tedious, exercise in understanding the internals of
compiled code.  Surely different between ud and uv, given their lineage.
Are there any tools or documentation available to give a head start?  Does
the debugger leak any information on the internals?

It comes down to the question of how does:

# cat IAN.TEST
PRINT HELLO

Turn into:

# od -c _IAN.TEST
000 001   ?   ÿ   ÿ  \0   p  \0 001  \0  \0  \0  \0  \0  \0  \0  \0
020  \0 003  \0 001  \0  \0  \0   0  \0  \0  \0  \0  \0  \0  \0
040   /   i   n   f   o   /   D   E   V   E   L   /   B   P   .   D
060   E   V   /   I   A   N   .   T   E   S   T  \0   -   1  \0   H
100   E   L   L   O  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
120  \0 004  \0 033  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
140  \0 005  \0 002  \0  \0  \0 034   ÿ   ÿ   ÿ   ÿ  \0  \0  \0  \0
160  \0 004  \0 005  \0  \0  \0 037  \0  \0  \0  \0  \0  \0  \0  \0
200 001 214  \0 001  \0 001  \0 005  \0  \0  \0 020  \0 001  \0   ,
220  \0 001  \0 020  \0 002  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Wolverton
Sent: Friday, January 04, 2013 3:11 PM
To: 'U2 Users List'
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global
catalog]

Question on the Source Code Recovery -- is the logic such that it could be
'open sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the
product active?  

While I don't have a need now, I like to think there is a place to go for
'the unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing
this service -- I would think it would rarely be needed, but when it was,
would be invaluable.  Seems a loss if it's now got to be re-written from
scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21
and the domain expires 2012/02/28. I added a Donate button to the main page
in case people want to keep the site around and the links to it from
breaking. Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-
IMPORTANT NOTICE:   This message is intended only for the addressee
and may contain confidential, privileged information.  If you are not the
intended recipient, you may not use, copy or disclose any information
contained in the message.  If you have received this message in error,
please notify the sender by reply e-mail and delete the message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http

Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-05 Thread Wjhonson
I wrote a decompiler for R83, never marketed it, just used it for my own play 
and insight.
 

 

 

-Original Message-
From: Gyle Iverson giver...@srs4uv.com
To: u2-users u2-users@listserver.u2ug.org
Sent: Sat, Jan 5, 2013 12:29 pm
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]


You are spot on Ian. It was a fun and tedious exercise. And you are right.
The internals of each interpreter and its op codes are quite different. 

I wanted to answer the same question of how does one thing turn into
another. And, can I reverse that? 

history
The first decompiler was for Prime INFORMATION in 1982. There wasn't
documentation available to me per se. However, looking through their
compiled libraries you could glean the names of the op codes. Returning the
statements and functions was straight forward. Recovering the logical
structure of the program was the heavy lift. Way back then, what discussions
I could find on logical structure recovery all said it was impossible. I
discovered a way to take the distinct graph patterns associated with each
compiled structure and reconstruct the original structure. That was a fun
puzzle. Still today, most decompilers only return GOTO-filled source code. I
always insisted on no-GOTOs (unless the original code was a pile of
spaghetti originally) and there was no other way to reconstruct the program.

The UniVerse decompiler came out in 1992. VMark was nice enough to leave a
lot of useful information in some C language header files distributed with
the product. I briefly looked at doing a UniData decompiler and never found
sufficient time to dedicate to cracking that. Lee Leitner had a UniData
decompiler on the market for a while. 
/history

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of McGowan, Ian
Sent: Friday, January 04, 2013 8:00 PM
To: U2 Users List
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global
catalog]

Seems like a fun, if tedious, exercise in understanding the internals of
compiled code.  Surely different between ud and uv, given their lineage.
Are there any tools or documentation available to give a head start?  Does
the debugger leak any information on the internals?

It comes down to the question of how does:

# cat IAN.TEST
PRINT HELLO

Turn into:

# od -c _IAN.TEST
000 001   ?   ÿ   ÿ  \0   p  \0 001  \0  \0  \0  \0  \0  \0  \0  \0
020  \0 003  \0 001  \0  \0  \0   0  \0  \0  \0  \0  \0  \0  \0
040   /   i   n   f   o   /   D   E   V   E   L   /   B   P   .   D
060   E   V   /   I   A   N   .   T   E   S   T  \0   -   1  \0   H
100   E   L   L   O  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
120  \0 004  \0 033  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
140  \0 005  \0 002  \0  \0  \0 034   ÿ   ÿ   ÿ   ÿ  \0  \0  \0  \0
160  \0 004  \0 005  \0  \0  \0 037  \0  \0  \0  \0  \0  \0  \0  \0
200 001 214  \0 001  \0 001  \0 005  \0  \0  \0 020  \0 001  \0   ,
220  \0 001  \0 020  \0 002  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Wolverton
Sent: Friday, January 04, 2013 3:11 PM
To: 'U2 Users List'
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global
catalog]

Question on the Source Code Recovery -- is the logic such that it could be
'open sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the
product active?  

While I don't have a need now, I like to think there is a place to go for
'the unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing
this service -- I would think it would rarely be needed, but when it was,
would be invaluable.  Seems a loss if it's now got to be re-written from
scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21
and the domain expires 2012/02/28. I added a Donate button to the main page
in case people want to keep the site around and the links to it from
breaking. Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-
IMPORTANT NOTICE:   This message is intended only for the addressee
and may contain confidential, privileged information.  If you

Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread David Wolverton
Question on the Source Code Recovery -- is the logic such that it could be
'open sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the
product active?  

While I don't have a need now, I like to think there is a place to go for
'the unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing
this service -- I would think it would rarely be needed, but when it was,
would be invaluable.  Seems a loss if it's now got to be re-written from
scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21
and the domain expires 2012/02/28. I added a Donate button to the main page
in case people want to keep the site around and the links to it from
breaking. Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread Doug Averch
This was a commercial product that was at one time successful.  And I am
guessing here is no longer used much for whatever reason, hence the need
for donations to keep the site going.

Most of the time I have seen recovery it is because a programmer left the
company or changed a program and deleted the source code by accident.  That
is why I cannot live without version control.

I just go back a version or two to get the working source using our
Eclipse based editor and Subversion.  No more BP.OLD, no more
MyProgram.01-12-2012, no more other archive directories, and no more
pulling source off of a QA or test machine.  One time, a digression, I had
get the source code off a customer machine to get a working copy.  Oh boy
am I glad those days are behind me.

And to those companies that are not shipping source to your customers,
those customers better have a stable third party that is saving off the
source code for them in case of emergencies.

Regards,
Doug
www.u2logic.com/tools.html
Real editors with real version control
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread Doug Averch
This was a commercial product that was at one time successful.  And I am
guessing here is no longer used much for whatever reason, hence the need
for donations to keep the site going.

Most of the time I have seen recovery it is because a programmer left the
company or changed a program and deleted the source code by accident.  That
is why I cannot live without version control.

I just go back a version or two to get the working source using our
Eclipse based editor and Subversion.  No more BP.OLD, no more
MyProgram.01-12-2012, no more other archive directories, and no more
pulling source off of a QA or test machine.  One time, a digression, I had
get the source code off a customer machine to get a working copy.  Oh boy
am I glad those days are behind me.

And to those companies that are not shipping source to your customers,
those customers better have a stable third party that is saving off the
source code for them in case of emergencies.

Regards,
Doug
www.u2logic.com/tools.html
Real editors with real version control
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread Gyle Iverson
I don't desire to give the technology away. Anyone interested in purchasing  
or licensing the technology should contact me directly.


Last year I recovered one program. Not enough activity to keep my interest.  
While we all appreciate the potential value of having the service, it is no  
longer economically viable.
 
Connected by DROID on Verizon Wireless


-Original message-
From: David Wolverton dwolv...@flash.net
To: 'U2 Users List' u2-users@listserver.u2ug.org
Sent: 2013 Jan, Fri, 4 23:11:16 GMT+00:00
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global  
catalog]


Question on the Source Code Recovery -- is the logic such that it could be
'open sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the
product active?  


While I don't have a need now, I like to think there is a place to go for
'the unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing
this service -- I would think it would rarely be needed, but when it was,
would be invaluable.  Seems a loss if it's now got to be re-written from
scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 


I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21
and the domain expires 2012/02/28. I added a Donate button to the main page
in case people want to keep the site around and the links to it from
breaking. Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread McGowan, Ian
Seems like a fun, if tedious, exercise in understanding the internals of 
compiled code.  Surely different between ud and uv, given their lineage.  Are 
there any tools or documentation available to give a head start?  Does the 
debugger leak any information on the internals?

It comes down to the question of how does:

# cat IAN.TEST
PRINT HELLO

Turn into:

# od -c _IAN.TEST
000 001   ?   ÿ   ÿ  \0   p  \0 001  \0  \0  \0  \0  \0  \0  \0  \0
020  \0 003  \0 001  \0  \0  \0   0  \0  \0  \0  \0  \0  \0  \0
040   /   i   n   f   o   /   D   E   V   E   L   /   B   P   .   D
060   E   V   /   I   A   N   .   T   E   S   T  \0   -   1  \0   H
100   E   L   L   O  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
120  \0 004  \0 033  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
140  \0 005  \0 002  \0  \0  \0 034   ÿ   ÿ   ÿ   ÿ  \0  \0  \0  \0
160  \0 004  \0 005  \0  \0  \0 037  \0  \0  \0  \0  \0  \0  \0  \0
200 001 214  \0 001  \0 001  \0 005  \0  \0  \0 020  \0 001  \0   ,
220  \0 001  \0 020  \0 002  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Wolverton 
Sent: Friday, January 04, 2013 3:11 PM
To: 'U2 Users List'
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Question on the Source Code Recovery -- is the logic such that it could be 
'open sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the 
product active?  

While I don't have a need now, I like to think there is a place to go for 'the 
unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing this 
service -- I would think it would rarely be needed, but when it was, would be 
invaluable.  Seems a loss if it's now got to be re-written from scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21 and 
the domain expires 2012/02/28. I added a Donate button to the main page in case 
people want to keep the site around and the links to it from breaking. 
Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-
IMPORTANT NOTICE:   This message is intended only for the addressee
and may contain confidential, privileged information.  If you are
not the intended recipient, you may not use, copy or disclose any
information contained in the message.  If you have received this
message in error, please notify the sender by reply e-mail and
delete the message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-04 Thread Wjhonson
It would make more sense if you escape every char in the header :)
I suspect that 1 is not a one at all, but rather part of a command to either 
do a Print, or do a Store.

 

 

 

-Original Message-
From: McGowan, Ian ian.mcgo...@bankofthewest.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Fri, Jan 4, 2013 8:00 pm
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]


Seems like a fun, if tedious, exercise in understanding the internals of 
compiled code.  Surely different between ud and uv, given their lineage.  Are 
there any tools or documentation available to give a head start?  Does the 
debugger leak any information on the internals?

It comes down to the question of how does:

# cat IAN.TEST
PRINT HELLO

Turn into:

# od -c _IAN.TEST
000 001   ?   ÿ   ÿ  \0   p  \0 001  \0  \0  \0  \0  \0  \0  \0  \0
020  \0 003  \0 001  \0  \0  \0   0  \0  \0  \0  \0  \0  \0  \0
040   /   i   n   f   o   /   D   E   V   E   L   /   B   P   .   D
060   E   V   /   I   A   N   .   T   E   S   T  \0   -   1  \0   H
100   E   L   L   O  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
120  \0 004  \0 033  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
140  \0 005  \0 002  \0  \0  \0 034   ÿ   ÿ   ÿ   ÿ  \0  \0  \0  \0
160  \0 004  \0 005  \0  \0  \0 037  \0  \0  \0  \0  \0  \0  \0  \0
200 001 214  \0 001  \0 001  \0 005  \0  \0  \0 020  \0 001  \0   ,
220  \0 001  \0 020  \0 002  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] 
On Behalf Of David Wolverton 
Sent: Friday, January 04, 2013 3:11 PM
To: 'U2 Users List'
Subject: Re: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Question on the Source Code Recovery -- is the logic such that it could be 
'open 
sourced' or GPL'd?  Or is there another way to do the source recovery?


That is, were the mechanics sold to Rocket Software Professional Services?
If not, could they be sold to another company is someone wanted to keep the 
product active?  

While I don't have a need now, I like to think there is a place to go for 'the 
unthinkable' if it happened!

Just wondering!!  I don't know the circumstances that led to withdrawing this 
service -- I would think it would rarely be needed, but when it was, would be 
invaluable.  Seems a loss if it's now got to be re-written from scratch!!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gyle Iverson
Sent: Thursday, January 03, 2013 7:04 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] srs4uv.com status [Was: Corrupted object in global catalog]

Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21 and 
the domain expires 2012/02/28. I added a Donate button to the main page in case 
people want to keep the site around and the links to it from breaking. 
Otherwise, the site vanishes next month.

Gyle

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-
IMPORTANT NOTICE:   This message is intended only for the addressee
and may contain confidential, privileged information.  If you are
not the intended recipient, you may not use, copy or disclose any
information contained in the message.  If you have received this
message in error, please notify the sender by reply e-mail and
delete the message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] srs4uv.com status [Was: Corrupted object in global catalog]

2013-01-03 Thread Gyle Iverson
Thanks for your comments David. 

I left http://srs4uv.com/ on-line for now. The hosting expires 2012/02/21
and the domain expires 2012/02/28. I added a Donate button to the main page
in case people want to keep the site around and the links to it from
breaking. Otherwise, the site vanishes next month.

Gyle

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hona, David
Sent: Wednesday, January 02, 2013 9:47 PM
To: U2 Users List
Subject: Re: [U2] [UV]Corrupted object in global catalog

Here's some options for you...

1. Verify it is cataloged in Global Catalog The subroutine !EXIST subroutine
was created for Prime INFORMATION compatibility and does a simple check to
verify the program is catalogued only. Check out the source code in UV
account APP.PROGS, EXIST.

2. Verify Object code matches
The VCATALOG verb is also used to verify the compiled object in your BP
object file and the Global Catalog space are the same. (Interestingly, on my
UV11.1.9/AIX system, VCATALOG isn't working! :-( ).

3. Extract detailed object code header data Finally, writing your own custom
verification utility combining VLIST verb and/or Gyle Iversons' excellent
(NB: I understand he will soon close down this website) SRS.UV.HEADER
subroutine to extract header information from the global catdir and your BP
object file for comparison purposes.
URL: http://www.srs4uv.com/srs_uv_header.htm 



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users