summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/about.html
blob: 0973f7012367eabe1f1c30a13643b85c7fcb3c1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
</head>
<body lang="EN-US">
<h2>About This Content</h2>
 
<p>August 17, 2006</p>	
<h3>License</h3>

<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>

<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
apply to your use of any object code in the Content.  Check the Redistributor's license that was 
provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>

<h3>Third Party Content</h3>

<p>The Content includes items that have been sourced from third parties as set out below. If you 
did not receive this Content directly from the Eclipse Foundation, the following is provided 
for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
terms and conditions of use.</p>

<h4>Independent JPEG Group's JPEG software release 6b</h4>

<p>This software is based in part on the work of the Independent JPEG Group's JPEG software release 6b (&quot;LIBJPEG&quot;).
LIBJPEG was used to implement the decoding of JPEG format files in Java (TM).  The Content does NOT include any portion of the LIBJPEG file ansi2knr.c.</p>

<p>Your use of LIBJPEG is subject to the terms and conditions located in the <a href="about_files/IJG_README">about_files/IJG_README</a> file which is included
with the Content.</p>

<p>The IJG's website is located at <a href="http://ijg.org/" target="_blank">http://ijg.org</a>.</p>

<p>The class org.eclipse.swt.internal.image.JPEGFileFormat is based on following files from LIBJPEG:</p>

<ul>
    <li>cderror.h</li>
    <li>cdjpeg.h</li>
    <li>jchuff.h</li>
    <li>jdcolor.c</li>
    <li>jdct.h</li>
    <li>jdhuff.h</li>
    <li>jerror.h</li>
    <li>jidctint.c</li>
    <li>jinclude.h</li>
    <li>jmemsys.h</li>
    <li>jmorecfg.h</li>
    <li>jpegint.h</li>
    <li>jpeglib.h</li>
    <li>jversion.h</li>
    <li>transupp.h</li>
</ul>

<p>The class org.eclipse.swt.internal.image.JPEGDecoder is based on the following files from LIBJPEG:</p>

<ul>
	<li>jcapimin.c</li>
	<li>jcapistd.c</li>
	<li>jccoefct.c</li>
	<li>jccolor.c</li>
	<li>jcdctmgr.c</li>
	<li>jchuff.c</li>
	<li>jcinit.c</li>
	<li>jcmainct.c</li>
	<li>jcmarker.c</li>
	<li>jcmaster.c</li>
	<li>jcomapi.c</li>
	<li>jcparam.c</li>
	<li>jcphuff.c</li>
	<li>jcprepct.c</li>
	<li>jcsample.c</li>
	<li>jctrans.c</li>
	<li>jdapimin.c</li>
	<li>jdapistd.c</li>
	<li>jdatadst.c</li>
	<li>jdatasrc.c</li>
	<li>jdcoefct.c</li>
	<li>jdcolor.c</li>
	<li>jddctmgr.c</li>
	<li>jdhuff.c</li>
	<li>jdinput.c</li>
	<li>jdmainct.c</li>
	<li>jdmarker.c</li>
	<li>jdmaster.c</li>
	<li>jdmerge.c</li>
	<li>jdphuff.c</li>
	<li>jdpostct.c</li>
	<li>jdsample.c</li>
	<li>jdtrans.c</li>
	<li>jerror.c</li>
	<li>jfdctflt.c</li>
	<li>jfdctfst.c</li>
	<li>jfdctint.c</li>
	<li>jidctflt.c</li>
	<li>jidctfst.c</li>
	<li>jidctint.c</li>
	<li>jidctred.c</li>
	<li>jpegtran.c</li>
	<li>jquant1.c</li>
	<li>jquant2.c</li>
	<li>jutils.c</li>
	<li>cderror.h</li>
	<li>cdjpeg.h</li>
	<li>jchuff.h</li>
	<li>jconfig.h</li>
	<li>jdct.h</li>
	<li>jdhuff.h</li> class="hl opt">('Use the authconfig to configure nsswitch.conf '
                         'and the PAM stack')
        self.log.command('authconfig --updateall --enablesssd '
                         '--enablesssdauth\n')

        self.configure_and_start_sssd()

    def configure_ca_cert(self):
        self.log.comment('NOTE: IPA certificate uses the SHA-256 hash '
                         'function. SHA-256 was introduced in RHEL5.2. '
                         'Therefore, clients older than RHEL5.2 will not be '
                         'able to interoperate with IPA server 3.x.')
        super(config_redhat_sssd_before_1_9, self).configure_ca_cert()


api.register(config_redhat_sssd_before_1_9)


class config_generic_linux_sssd_before_1_9(config_base_legacy_client):
    """
    Legacy client configuration for non Red Hat based linux systems,
    using SSSD.
    """
    description = ('Instructions for configuring a system with an old version '
                   'of SSSD (1.5-1.8) as a FreeIPA client. This set of '
                   'instructions is targeted for linux systems that do not '
                   'include the authconfig utility.')

    def get_info(self):
        self.check_compat_plugin()

        with open(os.path.join(
                SHARE_DIR,
                'advise',
                'legacy',
                'pam.conf.sssd.template')) as fd:
            pam_conf = fd.read()

        self.log.comment('Install required packages using your system\'s '
                         'package manager. E.g:')
        self.log.command('apt-get -y install sssd wget openssl\n')

        self.configure_ca_cert()

        self.log.comment('Configure nsswitch.conf. Append sss to the lines '
                         'beginning with passwd and group. ')
        self.log.command('grep "^passwd.*sss" /etc/nsswitch.conf')
        self.log.command('if [ $? -ne 0 ] ; then sed -i '
                         '\'/^passwd/s|$| sss|\' /etc/nsswitch.conf ; fi')
        self.log.command('grep "^group.*sss" /etc/nsswitch.conf')
        self.log.command('if [ $? -ne 0 ] ; then sed -i '
                         '\'/^group/s|$| sss|\' /etc/nsswitch.conf ; fi\n')

        self.log.comment('Configure PAM. Configuring the PAM stack differs on '
                         'particular distributions. The resulting PAM stack '
                         'should look like this:')
        self.log.command('cat > /etc/pam.conf << EOF \n'
                         '%s\nEOF\n' % pam_conf)

        self.configure_and_start_sssd()

    def configure_ca_cert(self):
        super(config_generic_linux_sssd_before_1_9, self).configure_ca_cert()

        self.log.comment('Configure ldap.conf. Set the value of '
                         'TLS_CACERTDIR to /etc/openldap/cacerts. Make sure '
                         'that the location of ldap.conf file matches your '
                         'system\'s configuration.')
        self.log.command('echo "TLS_CACERTDIR /etc/openldap/cacerts" >> '
                         '/etc/ldap/ldap.conf\n')


api.register(config_generic_linux_sssd_before_1_9)


class config_redhat_nss_pam_ldapd(config_base_legacy_client):
    """
    Legacy client configuration for Red Hat based systems,
    using nss-pam-ldapd.
    """
    description = ('Instructions for configuring a system with nss-pam-ldapd '
                   'as a FreeIPA client. This set of instructions is targeted '
                   'for platforms that include the authconfig utility, which '
                   'are all Red Hat based platforms.')

    def get_info(self):
        uri, base = self.get_uri_and_base()
        self.check_compat_plugin()

        self.log.comment('Install required packages via yum')
        self.log.command('yum install -y wget openssl nss-pam-ldapd pam_ldap '
                         'authconfig\n')

        self.configure_ca_cert()

        self.log.comment('Use the authconfig to configure nsswitch.conf '
                         'and the PAM stack')
        self.log.command('authconfig --updateall --enableldap '
                         '--enableldapauth --ldapserver=%s --ldapbasedn=%s\n'
                         % (uri, base))

    def configure_ca_cert(self):
        self.log.comment('NOTE: IPA certificate uses the SHA-256 hash '
                         'function. SHA-256 was introduced in RHEL5.2. '
                         'Therefore, clients older than RHEL5.2 will not be '
                         'able to interoperate with IPA server 3.x.')
        super(config_redhat_nss_pam_ldapd, self).configure_ca_cert()


api.register(config_redhat_nss_pam_ldapd)


class config_generic_linux_nss_pam_ldapd(config_base_legacy_client):
    """
    Legacy client configuration for non Red Hat based linux systems,
    using nss-pam-ldapd.
    """
    description = ('Instructions for configuring a system with nss-pam-ldapd. '
                   'This set of instructions is targeted for linux systems '
                   'that do not include the authconfig utility.')

    def get_info(self):
        uri, base = self.get_uri_and_base()
        self.check_compat_plugin()

        with open(os.path.join(
                SHARE_DIR,
                'advise',
                'legacy',
                'pam.conf.nss_pam_ldapd.template')) as fd:
            pam_conf = fd.read()

        nslcd_conf = 'uri %s\nbase %s' % (uri, base)

        self.log.comment('Install required packages using your system\'s '
                         'package manager. E.g:')
        self.log.command('apt-get -y install wget openssl libnss-ldapd '
                         'libpam-ldapd nslcd\n')

        self.configure_ca_cert()

        self.log.comment('Configure nsswitch.conf. Append ldap to the lines '
                         'beginning with passwd and group. ')
        self.log.command('grep "^passwd.*ldap" /etc/nsswitch.conf')
        self.log.command('if [ $? -ne 0 ] ; then sed -i '
                         '\'/^passwd/s|$| ldap|\' /etc/nsswitch.conf ; fi')
        self.log.command('grep "^group.*ldap" /etc/nsswitch.conf')
        self.log.command('if [ $? -ne 0 ] ; then sed -i '
                         '\'/^group/s|$| ldap|\' /etc/nsswitch.conf ; fi\n')

        self.log.comment('Configure PAM. Configuring the PAM stack differs on '
                         'particular distributions. The resulting PAM stack '
                         'should look like this:')
        self.log.command('cat > /etc/pam.conf << EOF \n'
                         '%s\nEOF\n' % pam_conf)

        self.log.comment('Configure nslcd.conf:')
        self.log.command('cat > /etc/nslcd.conf << EOF \n'
                         '%s\nEOF\n' % nslcd_conf)

        self.log.comment('Configure pam_ldap.conf:')
        self.log.command('cat > /etc/pam_ldap.conf << EOF \n'
                         '%s\nEOF\n' % nslcd_conf)

        self.log.comment('Stop nscd and restart nslcd')
        self.log.command('service nscd stop && service nslcd restart')

    def configure_ca_cert(self):
        super(config_generic_linux_nss_pam_ldapd, self).configure_ca_cert()

        self.log.comment('Configure ldap.conf. Set the value of '
                         'TLS_CACERTDIR to /etc/openldap/cacerts. Make sure '
                         'that the location of ldap.conf file matches your '
                         'system\'s configuration.')
        self.log.command('echo "TLS_CACERTDIR /etc/openldap/cacerts" >> '
                         '/etc/ldap/ldap.conf\n')


api.register(config_generic_linux_nss_pam_ldapd)


class config_freebsd_nss_pam_ldapd(config_base_legacy_client):
    """
    Legacy client configuration for FreeBSD, using nss-pam-ldapd.
    """
    description = ('Instructions for configuring a FreeBSD system with '
                   'nss-pam-ldapd. ')

    def get_info(self):
        uri, base = self.get_uri_and_base()
        cacrt = '/usr/local/etc/ipa.crt'

        self.check_compat_plugin()

        with open(os.path.join(
                SHARE_DIR,
                'advise',
                'legacy',
                'pam_conf_sshd.template')) as fd:
            pam_conf = fd.read()

        self.log.comment('Install required packages')
        self.log.command('pkg_add -r nss-pam-ldapd curl\n')

        self.configure_ca_cert(cacrt)

        self.log.comment('Configure nsswitch.conf')
        self.log.command('sed -i \'\' -e \'s/^passwd:/passwd: files ldap/\' '
                         '/etc/nsswitch.conf')
        self.log.command('sed -i \'\' -e \'s/^group:/group: files ldap/\' '
                         '/etc/nsswitch.conf\n')

        self.log.comment('Configure PAM stack for the sshd service')
        self.log.command('cat > /etc/pam.d/sshd << EOF \n'
                         '%s\nEOF\n' % pam_conf)

        self.log.comment('Add automated start of nslcd to /etc/rc.conf')
        self.log.command('echo \'nslcd_enable="YES"\nnslcd_debug="NO"\' >> '
                         '/etc/rc.conf')

        self.log.comment('Configure nslcd.conf:')
        self.log.command('echo "uid nslcd\n'
                         'gid nslcd\n'
                         'uri %s\n'
                         'base %s\n'
                         'scope sub\n'
                         'base group cn=groups,%s\n'
                         'base passwd cn=users,%s\n'
                         'base shadow cn=users,%s\n'
                         'ssl start_tls\n'
                         'tls_cacertfile %s\n" >  /usr/local/etc/nslcd.conf'
                         % ((uri,) + (base,)*4 + (cacrt,)))

        self.log.comment('Configure ldap.conf:')
        self.log.command('echo "uri %s\nbase %s\nssl start_tls\ntls_cacert %s"'
                         '> /usr/local/etc/ldap.conf' % (uri, base, cacrt))

        self.log.comment('Restart nslcd')
        self.log.command('/usr/local/etc/rc.d/nslcd restart')

    def configure_ca_cert(self, cacrt):
        self.log.comment('Download the CA certificate of the IPA server')
        self.log.command('curl -k https://%s/ipa/config/ca.crt > '
                         '%s' % (api.env.host, cacrt))

api.register(config_freebsd_nss_pam_ldapd)


class config_redhat_nss_ldap(config_base_legacy_client):
    """
    Legacy client configuration for Red Hat based systems,
    using nss-ldap.
    """
    description = ('Instructions for configuring a system with nss-ldap '
                   'as a FreeIPA client. This set of instructions is targeted '
                   'for platforms that include the authconfig utility, which '
                   'are all Red Hat based platforms.')

    def get_info(self):
        uri, base = self.get_uri_and_base()
        self.check_compat_plugin()

        self.log.comment('Install required packages via yum')
        self.log.command('yum install -y wget openssl nss_ldap '
                         'authconfig\n')

        self.configure_ca_cert()

        self.log.comment('Use the authconfig to configure nsswitch.conf '
                         'and the PAM stack')
        self.log.command('authconfig --updateall --enableldap '
                         '--enableldapauth --ldapserver=%s --ldapbasedn=%s\n'
                         % (uri, base))

    def configure_ca_cert(self):
        self.log.comment('NOTE: IPA certificate uses the SHA-256 hash '
                         'function. SHA-256 was introduced in RHEL5.2. '
                         'Therefore, clients older than RHEL5.2 will not be '
                         'able to interoperate with IPA server 3.x.')
        super(config_redhat_nss_ldap, self).configure_ca_cert()

api.register(config_redhat_nss_ldap)