× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



What intermediate step are you referring to ?

For user validation I think we can use the business user profile and password

For invoking an RPG we need to use a generic profile to make the connection right , because its not always associated with an activity done by an as400 user

Dilip Nair

Director, IT
[cid:image001.jpg@01DAF305.32AB15B0]
Phone: 631-777-5234
Cell : 631-433-7907

From: JAVA400-L <java400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Jim Oberholtzer
Sent: Tuesday, August 20, 2024 12:15 PM
To: Java Programming on and around the IBM i <java400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: [EXTERNAL] Re: AS400 Object

OK, then getting the user handle sounds like what you want. I'm not seeing the need for the intermediate step. -- Jim Oberholtzer Chief Technical Architect Agile Technology Architects On Tue, Aug 20, 2024 at 9: 53 AM Nair, Dilip <Dilip. Nair@ henryschein. com>
ZjQcmQRYFpfptBannerStart
This Message Is From an Untrusted Sender
You have not previously corresponded with this sender.
ZjQcmQRYFpfptBannerEnd

OK, then getting the user handle sounds like what you want. I'm not seeing

the need for the intermediate step.



--

Jim Oberholtzer

Chief Technical Architect

Agile Technology Architects





On Tue, Aug 20, 2024 at 9:53 AM Nair, Dilip <Dilip.Nair@xxxxxxxxxxxxxxx<mailto:Dilip.Nair@xxxxxxxxxxxxxxx>>

wrote:



We are not creating new profiles with the generic user/pass



We have a web application where the user logins with their own as/400

userid and password.

We use the AS400 object created with the generic profile to validate the

business user profile trying to login to the application , another use case

is invoking an RPG program from Java where we need an AS400 object to make

the program call.



Dilip Nair



Director, IT

[cid:image001.jpg@01DAF2EE.78DA6D90]

Phone: 631-777-5234

Cell : 631-433-7907



From: JAVA400-L <java400-l-bounces@xxxxxxxxxxxxxxxxxx<mailto:java400-l-bounces@xxxxxxxxxxxxxxxxxx>> On Behalf Of Jim

Oberholtzer

Sent: Tuesday, August 20, 2024 10:43 AM

To: Java Programming on and around the IBM i <java400-l@xxxxxxxxxxxxxxxxxx



Subject: Re: [EXTERNAL] Re: AS400 Object



Maybe I'm dense (probably so) but if the user calling this function has an

IBM i profile and is creating a new one, then the user calling the function

should be able to provide a valid password the API could validate. The Java

Project as I quickly

ZjQcmQRYFpfptBannerStart

This Message Is From an Untrusted Sender

You have not previously corresponded with this sender.

ZjQcmQRYFpfptBannerEnd



Maybe I'm dense (probably so) but if the user calling this function has an



IBM i profile and is creating a new one, then the user calling the function



should be able to provide a valid password the API could validate. The



Java Project as I quickly looked at it, stores and retrieves environment



variables. Cool, yes, but to store a password that enables one to create



other user profiles, I wonder about the wisdom of that .







--



Jim Oberholtzer



Chief Technical Architect



Agile Technology Architects











On Tue, Aug 20, 2024 at 9:29 AM Jack Woehr via JAVA400-L <



java400-l@xxxxxxxxxxxxxxxxxx<mailto:java400-l@xxxxxxxxxxxxxxxxxx<mailto:java400-l@xxxxxxxxxxxxxxxxxx%3cmailto:java400-l@xxxxxxxxxxxxxxxxxx>>> wrote:







Check out the dotenv-java project

https://urldefense.com/v3/__https://github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$<https://urldefense.com/v3/__https:/github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$%3e>

<https://urldefense.com/v3/__https:/github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$%3e><

https://urldefense.com/v3/__https:/github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$<https://urldefense.com/v3/__https:/github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$%3e>

<https://urldefense.com/v3/__https:/github.com/cdimascio/dotenv-java__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6rdmspID$%3e>>











________________________________



From: JAVA400-L <java400-l-bounces@xxxxxxxxxxxxxxxxxx<mailto:

java400-l-bounces@xxxxxxxxxxxxxxxxxx<mailto:java400-l-bounces@xxxxxxxxxxxxxxxxxx>>> on behalf of Nair,



Dilip <Dilip.Nair@xxxxxxxxxxxxxxx<mailto:Dilip.Nair@xxxxxxxxxxxxxxx<mailto:Dilip.Nair@xxxxxxxxxxxxxxx%3cmailto:Dilip.Nair@xxxxxxxxxxxxxxx>>>



Sent: Tuesday, August 20, 2024 8:24 AM



To: Java Programming on and around the IBM i <

java400-l@xxxxxxxxxxxxxxxxxx<mailto:java400-l@xxxxxxxxxxxxxxxxxx>







Subject: RE: [EXTERNAL] Re: AS400 Object







[You don't often get email from dilip.nair@xxxxxxxxxxxxxxx<mailto<mailto:dilip.nair@xxxxxxxxxxxxxxx%3cmailto>:

dilip.nair@xxxxxxxxxxxxxxx<mailto:dilip.nair@xxxxxxxxxxxxxxx>>. Learn why



this is important at

https://urldefense.com/v3/__https://aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$%3e>

<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$%3e><

https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$><https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$%3e%3e>

<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6nvA32Xr$%3e%3e>]







CAUTION: This email originated from outside of the organization. Do not



click links or open attachments unless you recognize the sender and know



the content is safe.







Thanks for the quick response







We would like to secure the password used to create the AS400 object.



This is what we do



AS400 sys = new AS400(system , genericuser ,password)







Sys.validatesignon(username , userpassword)







Password for the creating the sys object is hardcoded and would like to



take it off the code..







Dilip Nair



--



This is the Java Programming on and around the IBM i (JAVA400-L) mailing



list



To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx%3cmailto>:

JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx>>



To subscribe, unsubscribe, or change list options,



visit:

https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>

<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e><

https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>

<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>>



or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx%3cmailto>:

JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx>>



Before posting, please take a moment to review the archives



at

https://urldefense.com/v3/__https://archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>

<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e><

https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>

<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>>.







--



This is the Java Programming on and around the IBM i (JAVA400-L) mailing

list



To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx%3cmailto>:

JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx>>



To subscribe, unsubscribe, or change list options,



visit:

https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>

<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e><

https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>

<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6sRvBzTj$%3e>>



or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx%3cmailto>:

JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx>>



Before posting, please take a moment to review the archives



at

https://urldefense.com/v3/__https://archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>

<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e><

https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>

<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!eEMUUdiHJv31l9Q12xc_I0eOYjsi_uNRH6FlH-0e8e7-4FB2vDrUT2yRb0POk4H4q8nhaYHwuVZV6CuB9-Fm6vx_lv9Y$%3e>>.



Please consider the environment before printing this email.



E-mail messages may contain viruses, worms, or other malicious code. By

reading the message and opening any attachments, the recipient accepts full

responsibility for taking protective action against such code. Henry Schein

is not liable for any loss or damage arising from this message.



The information in this email is confidential and may be legally

privileged. It is intended solely for the addressee(s). Access to this

e-mail by anyone else is unauthorized.

--

This is the Java Programming on and around the IBM i (JAVA400-L) mailing

list

To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx>

To subscribe, unsubscribe, or change list options,

visit: https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWsjhIWpd-$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWsjhIWpd-$>

or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx>

Before posting, please take a moment to review the archives

at https://urldefense.com/v3/__https://archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWskW2pzHk$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWskW2pzHk$>.



--

This is the Java Programming on and around the IBM i (JAVA400-L) mailing list

To post a message email: JAVA400-L@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L@xxxxxxxxxxxxxxxxxx>

To subscribe, unsubscribe, or change list options,

visit: https://urldefense.com/v3/__https://lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWsjhIWpd-$<https://urldefense.com/v3/__https:/lists.midrange.com/mailman/listinfo/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWsjhIWpd-$>

or email: JAVA400-L-request@xxxxxxxxxxxxxxxxxx<mailto:JAVA400-L-request@xxxxxxxxxxxxxxxxxx>

Before posting, please take a moment to review the archives

at https://urldefense.com/v3/__https://archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWskW2pzHk$<https://urldefense.com/v3/__https:/archive.midrange.com/java400-l__;!!C8D7Pa6reTSs!aW80kZCKiNQQcXigfhZ-FDQAfMoRA2Lm3RWzVdXLx8cGKm_0cTWjmMgrPCSJZlTHbgBO0yfdQPgePeHV3LvWskW2pzHk$>.

Please consider the environment before printing this email.

E-mail messages may contain viruses, worms, or other malicious code. By reading the message and opening any attachments, the recipient accepts full responsibility for taking protective action against such code. Henry Schein is not liable for any loss or damage arising from this message.

The information in this email is confidential and may be legally privileged. It is intended solely for the addressee(s). Access to this e-mail by anyone else is unauthorized.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.