[Freeipa-devel] [Transifex] File submitted via email to FreeIPA | master

2010-03-01 Thread admin
Hello freeipa, this is Transifex at http://www.transifex.net.

The following attached files were submitted to FreeIPA | master by beckerde 
 

Please, visit Transifex at 
http://www.transifex.net/projects/p/freeipa/c/master/ in order to see the 
component page.

Thank you,
Transifex
# Fedora Spanish translation of freeipa.master.ipa.
# This file is distributed under the same license as the freeipa.master.ipa 
package.
#
# Héctor Daniel Cabrera , 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: freeipa.master.ipa\n"
"Report-Msgid-Bugs-To: 
https://hosted.fedoraproject.org/projects/freeipa/newticket\n";
"POT-Creation-Date: 2010-02-15 14:55-0500\n"
"PO-Revision-Date: \n"
"Last-Translator: Domingo Becker \n"
"Language-Team: Fedora Spanisg \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-Country: ARGENTINA\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: ../../ipalib/parameters.py:224
msgid "incorrect type"
msgstr "tipo incorrecto"

#: ../../ipalib/parameters.py:227
msgid "Only one value is allowed"
msgstr "Sólo se permite un valor"

#: ../../ipalib/parameters.py:791
msgid "must be True or False"
msgstr "debe ser True o False"

#: ../../ipalib/parameters.py:892
msgid "must be an integer"
msgstr "debe ser un entero"

#: ../../ipalib/parameters.py:943
#, python-format
msgid "must be at least %(minvalue)d"
msgstr "debe ser como mínimo %(minvalue)d"

#: ../../ipalib/parameters.py:953
#, python-format
msgid "can be at most %(maxvalue)d"
msgstr "puede ser como máximo %(maxvalue)d"

#: ../../ipalib/parameters.py:963
msgid "must be a decimal number"
msgstr "debe ser un número decimal"

#: ../../ipalib/parameters.py:985
#, python-format
msgid "must be at least %(minvalue)f"
msgstr "debe ser como mínimo %(minvalue)f"

#: ../../ipalib/parameters.py:995
#, python-format
msgid "can be at most %(maxvalue)f"
msgstr "puede ser como máximo %(maxvalue)f"

#: ../../ipalib/parameters.py:1055
#, python-format
msgid "must match pattern \"%(pattern)s\""
msgstr "debe coincidir con el modelo \"%(pattern)s"

#: ../../ipalib/parameters.py:1073
msgid "must be binary data"
msgstr "debe ser un dato binario"

#: ../../ipalib/parameters.py:1088
#, python-format
msgid "must be at least %(minlength)d bytes"
msgstr "debe ser como mínimo de %(minlength)d bytes"

#: ../../ipalib/parameters.py:1098
#, python-format
msgid "can be at most %(maxlength)d bytes"
msgstr "puede ser a lo sumo de %(maxlength)d bytes"

#: ../../ipalib/parameters.py:1108
#, python-format
msgid "must be exactly %(length)d bytes"
msgstr "debe ser exactamente de %(length)d bytes"

#: ../../ipalib/parameters.py:1126
msgid "must be Unicode text"
msgstr "debe ser texto Unicode"

#: ../../ipalib/parameters.py:1156
#, python-format
msgid "must be at least %(minlength)d characters"
msgstr "debe tener como mínimo %(minlength)d caracteres"

#: ../../ipalib/parameters.py:1166
#, python-format
msgid "can be at most %(maxlength)d characters"
msgstr "puede tener a lo sumo %(maxlength)d caracteres"

#: ../../ipalib/parameters.py:1176
#, python-format
msgid "must be exactly %(length)d characters"
msgstr "debe tener exactamente %(length)d caracteres"

#: ../../ipalib/parameters.py:1215
#, python-format
msgid "must be one of %(values)r"
msgstr "debe ser uno de %(values)r"

#: ../../ipalib/cli.py:505
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "ngrese %(label)s nuevamente para su verificación: "

#: ../../ipalib/cli.py:509
msgid "Passwords do not match!"
msgstr "¡Las contraseñas no coinciden!"

#: ../../ipalib/cli.py:514
msgid "Cancelled."
msgstr "Cancelado."

#: ../../ipalib/frontend.py:377
msgid "Results are truncated, try a more specific search"
msgstr "Los resultados se encuentran truncados, intente realizar una búsqueda 
más específica"

#: ../../ipalib/errors.py:297
#, python-format
msgid "%(cver)s client incompatible with %(sver)s server at %(server)r"
msgstr "el cliente %(cver)s no es compatible con el servidor %(sver)s en 
%(server)r"

#: ../../ipalib/errors.py:315
#, python-format
msgid "unknown error %(code)d from %(server)s: %(error)s"
msgstr "error %(code)d desconocido de %(server)s: %(error)s"

#: ../../ipalib/errors.py:331
msgid "an internal error has occurred"
msgstr "ha ocurrido un error interno"

#: ../../ipalib/errors.py:353
#, python-format
msgid "an internal error has occurred on server at %(server)r"
msgstr "ha ocurrido un error interno en el servidor en %(server)r"

#: ../../ipalib/errors.py:369
#, python-format
msgid "unknown command %(name)r"
msgstr "comando desconocido %(name)r"

#: ../../ipalib/errors.py:386
#: ../../ipalib/errors.py:411
#, python-format
msgid "error on server %(server)r: %(error)s"
msgstr "error en el servidor %(server)r: %(error)s"

#: ../../ipalib/errors.py:402
#, python-format
msgid "cannot connect to %(uri)r: %(error)s"
msgstr "no es posible conectar con %(uri)r: %(error)s"

#: ../../ipalib/errors.py:420
#, python-format
msgi

Re: [Freeipa-devel] JSON problems (the woes of binary data)

2010-03-01 Thread John Dennis

Yeah, I do wish JSON had a binary literal type.  This is obviously a bug
in my JSON-RPC code, but also an issue we need to solve for the UI.
When we send binary to the webUI, what is our intent?  I think that
displaying it as base64 encoded text is not generally what the user
wants.  I think displaying a link that will allow them to download the
file is generally a better idea.  Perhaps the Param should indicate how
it should be handled in the webUI.


Asking the question what should the UI be displaying for binary data is 
a good question to ask. In the specific case of certificates I think 
displaying it in PEM format is pretty reasonable, a user could 
cut-n-paste that and have it be useful. I think it would also be good to 
have a link as you suggest for the user to click on that would perform a 
download and store the data in a file (probably with a choice of PEM 
format or DER binary).


As for the other binary data we have yet to deal with, but for which we 
think there might be a a future need, I think we'll just have to deal 
with that in the UI on a case by case basis depending on what the data 
is. Would keytabs be one possible example of such a future need for 
binary data available via the UI?



The python JSON encoder class does give us the option to hook into the
encoder and check if the object is a str object and then base64 encode.
But that doesn't help us at the opposite end. How would we know when
unmarshaling that a given string is supposed to be base64 decoded back
into binary data? We could prepend a special string and hope that string
never gets used by normal text (yuck). Keeping a list of what needs
base64 decoding is not an option within JSON because at the time of
decoding we have no information available about the context of the JSON
objects.


I think sending it as a dict with a special key, something like:

   {'__base64__': b64encode(my_str)}



Yes, that's a good idea and one I hadn't thought of. My understanding of 
what you're proposing is this:


For JSON *only* we pre-scan the object to be JSON encoded and any place 
we discover a str object we replace that str object in the object 
containing it with a dict {'__base64__': base64_ecoded_value}.


We then send this through the JSON transport.

On the JSON receiving end after JSON decodes back into a Python object 
we scan the object and every place we find a dict with a '__base64__' 
key we replace that dict with the base64 decoded value  of the 
'__base64__' key.


I have started to develop a prototype of this code and it seems to work. 
The functions modify the data "in place" replacing objects within their 
containers.


I should by the end of the day have enough working to see if this solves 
the exception generating the backtrace on the Services page.


However, even though this would get us over the hump with regards to 
passing binary data through JSON, which I think we should do I continue 
to believe we should not be passing certificates and certficate requests 
as DER binary data. Based on prior responses there seems to be consensus 
that certificates should be passed as PEM encoded strings. That's 
something which can be patched later.


So my general plan is to get binary data working in JSON, then later 
patch things so that certs and csr's are PEM encoded. This gives us two 
good things: the ability to pass binary data in a general way which is 
probably a worthwhile thing to support in the framework even though we 
won't be using once certs are passed in PEM format, but may be useful 
down the road for other items, and then a consistent PEM format for 
certs. How does this sound?

--
John Dennis 

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] jderose 049 Consolidate to single WSGI entry point

2010-03-01 Thread Rob Crittenden

Jason Gerard DeRose wrote:

This is part1 of the mod_wsgi transition.  It provides a new plugin:
api.Backend.session.  This is a WSGI middleware component that will
create the LDAP connection and then route the request to the appropriate
WSGI application (/xml or /json or /ui).

The end result is that we have a single entry point (/ipa) instead of 3,
and we also use the exact same code path to create and destroy the LDAP
connection (which is obviously good for security).

All this still is running under mod_python, but my next patch switches
things to mod_wsgi (still have a few issues on that front).


Ack.

rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] jderose 050 Run ipaserver under mod_wsgi

2010-03-01 Thread Rob Crittenden

Jason Gerard DeRose wrote:

This patch completes the transition to running under mod_wsgi.  It
requires my previous "049 Consolidate to single WSGI entry point" patch.

This is pretty strait forward, but a few things need highlighting:

1. mod_wsgi requires an entry point script (you can't give it a Python
package name like we were doing with mod_python).  Based on my reading
of the Filesystem Hierarchy Standard, it seems this should be in
share/ipa, so that's what I did.  The script is /usr/share/ipa/wsgi.py
I was expecting this to cause SELinux problems, but things seem to work
fine.

2. We are running mod_wsgi in daemon mode, which is the preferred way of
deploying it.  The mod_wsgi daemon has both multi-process and
multi-threading capabilities.  As we haven't actually used threaded code
much in IPA thus far (although lite-server.py is threaded), for now I
have the daemon running 2 processes and 1 thread (aka it's not
threaded).  For production I think we probably should run something like
4 processes and 8 threads per process.  This can be a later change (just
requires a change in our ipa.conf Apache config file).

3. As ipaserver is now running inside the mod_wsgi daemon, we can
changed from using the Apache "prefork" MPM to using "worker", which is
far superior for static content.  I haven't changed this yet, but we
should put this on our TODO.

I pretty much had this patch all done last Friday, but I've let things
slow-roast for several days to make sure it's stable.  I feel confident
that this is a low risk change.  All the same, I think we should get
this pushed as soon as possible so we can shake out any remaining
issues.



I'm going to go ahead and ack this if you fix one thing before you push.

In ipa.spec.in you need to change:
-%{_usr}/share/ipa/wsgi.py
+%{_usr}/share/ipa/wsgi.py*

I don't think we need the Location entries at the top of ipa.conf 
setting no handler. It worked ok for me without them, the similar 
setting in the Directory should take care of things. More testing is 
probably needed.


This doesn't work on my F-11 box, I think primarily because 
/var/run/httpd/ has the wrong permissions. I'll investigate fixing this 
up but since F-11 won't be supported for a whole lot longer I'm not 
going to worry about this too much. I'll fix this in a follow-up patch.


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] Code cleanup: remove unused stuff, take 1.

2010-03-01 Thread Rob Crittenden

Pavel Zuna wrote:
Removes most of the deprecated output code from plugins. "take 1" 
because there might be more patches like this in the near future.


Pavel


ack, pushed to master

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] full Spanish translations as of 20100225

2010-03-01 Thread Rob Crittenden

John Dennis wrote:

ipa.pot has 133 messages. There are 6 po translation files.
bn_IN:14/133  10.5%  106 po untranslated,   13 missing,  119 
untranslated
es:  133/133 100.0%0 po untranslated,0 missing,0 
untranslated
id:  107/133  80.5%   13 po untranslated,   13 missing,   26 
untranslated
kn:   20/133  15.0%  113 po untranslated,0 missing,  113 
untranslated
pl:  133/133 100.0%0 po untranslated,0 missing,0 
untranslated
ru:  120/133  90.2%0 po untranslated,   13 missing,   13 
untranslated




ack, pushed to master

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [PATCH] More Kannada translations

2010-03-01 Thread Rob Crittenden

John Dennis wrote:

More Kannada translations

Current translation status:

ipa.pot has 133 messages. There are 6 po translation files.
bn_IN:14/133  10.5%  106 po untranslated,   13 missing,  119 
untranslated
es:  133/133 100.0%0 po untranslated,0 missing,0 
untranslated
id:  107/133  80.5%   13 po untranslated,   13 missing,   26 
untranslated
kn:  133/133 100.0%0 po untranslated,0 missing,0 
untranslated
pl:  133/133 100.0%0 po untranslated,0 missing,0 
untranslated
ru:  120/133  90.2%0 po untranslated,   13 missing,   13 
untranslated


ack, pushed to master

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


[Freeipa-devel] [PATCH] Fix JSON binary encode and decode errors

2010-03-01 Thread John Dennis

Fix JSON binary encode and decode errors

Traverse the objects passed to JSON for encoding and decoding.
When binary data is seen during encode replace the binary
data with a dict {'__base64__' : base64_encoding_of_binary_value}.

On decode if a dict is seen whose single key is '__base64__' replace
that dict with the base64 decoded value of the key's value.

Thanks to Jason for the suggestion (no pun intended :-)
--
John Dennis 

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
>From f45be23b3c5f41ee012c51a6d6d3759f92ee48ee Mon Sep 17 00:00:00 2001
From: John Dennis 
Date: Mon, 1 Mar 2010 18:55:39 -0500
Subject: [PATCH] Fix JSON binary encode and decode errors
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Traverse the objects passed to JSON for encoding and decoding.
When binary data is seen during encode replace the binary
data with a dict {'__base64__' : base64_encoding_of_binary_value}.

On decode if a dict is seen whose single key is '__base64__' replace
that dict with the base64 decoded value of the key's value.
---
 ipaserver/rpcserver.py |  100 +++-
 1 files changed, 99 insertions(+), 1 deletions(-)

diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index 4a5040e..96c4d29 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -31,7 +31,7 @@ from ipalib.request import context, Connection, destroy_context
 from ipalib.rpc import xml_dumps, xml_loads
 from ipalib.util import make_repr
 from ipalib.compat import json
-
+import base64
 
 def read_input(environ):
 """
@@ -216,6 +216,102 @@ class xmlserver(WSGIExecutioner):
 return xml_dumps(response, methodresponse=True)
 
 
+def json_encode_binary(val):
+'''
+   JSON cannot encode binary values. We encode binary values in Python str
+   objects and text in Python unicode objects. In order to allow a binary
+   object to be passed through JSON we base64 encode it thus converting it to
+   text which JSON can transport. To assure we recognize the value is a base64
+   encoded representation of the original binary value and not confuse it with
+   other text we convert the binary value to a dict in this form:
+
+   {'__base64__' : base64_encoding_of_binary_value}
+
+   This modification of the original input value cannot be done "in place" as
+   one might first assume (e.g. replacing any binary items in a container
+   (e.g. list, tuple, dict) with the base64 dict because the container might be
+   an immutable object (i.e. a tuple). Therefore this function returns a copy
+   of any container objects it encounters with tuples replaced by lists. This
+   is O.K. because the JSON encoding will map both lists and tuples to JSON
+   arrays.
+   '''
+
+if isinstance(val, dict):
+new_dict = {}
+for k,v in val.items():
+if isinstance(v, str):
+new_dict[k] = {'__base64__' : base64.b64encode(v)}
+else:
+new_dict[k] = json_encode_binary(v)
+del val
+return new_dict
+elif isinstance(val, (list, tuple)):
+new_list = []
+n = len(val)
+i = 0
+while i < n:
+v = val[i]
+if isinstance(v, str):
+new_list.append({'__base64__' : base64.b64encode(v)})
+else:
+new_list.append(json_encode_binary(v))
+i += 1
+del val
+return new_list
+elif isinstance(val, str):
+return {'__base64__' : base64.b64encode(val)}
+else:
+return val
+
+def json_decode_binary(val):
+'''
+JSON cannot transport binary data. In order to transport binary data we
+convert binary data to a form like this:
+
+   {'__base64__' : base64_encoding_of_binary_value}
+
+   see json_encode_binary()
+
+After JSON had decoded the JSON stream back into a Python object we must
+recursively scan the object looking for any dicts which might represent
+binary values and replace the dict containing the base64 encoding of the
+binary value with the decoded binary value. Unlike the encoding problem
+where the input might consist of immutable object, all JSON decoded
+container are mutable so the conversion could be done in place. However we
+don't modifying objects in place has side effects which may be
+dangerous. Thus we elect to spend a few more cycles and avoid the
+possibility of unintended side effects in favor of robustness.
+'''
+
+if isinstance(val, dict):
+if val.has_key('__base64__'):
+return base64.b64decode(val['__base64__'])
+else:
+new_dict = {}
+for k,v in val.items():
+if isinstance(v, dict) and v.has_key('__base64__'):
+new_dict[k] = base64.b64decode(v['__base64__'])
+else:
+new_dict[k] = json_decode_binary(v)
+del val
+return new_dict
+   

[Freeipa-devel] [PATCH] update POT

2010-03-01 Thread John Dennis
This updates the POT file. This can be immediately committed via the .po 
files require no ACK rule. Explanation: the POT file is auto generated 
on demand, there is nothing to review.

--
John Dennis 

Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
>From ee0c763dff6db808e0006a677ba4d9ab3df7aa58 Mon Sep 17 00:00:00 2001
From: John Dennis 
Date: Mon, 1 Mar 2010 19:57:39 -0500
Subject: [PATCH] update POT
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

---
 install/po/ipa.pot |  939 
 1 files changed, 867 insertions(+), 72 deletions(-)

diff --git a/install/po/ipa.pot b/install/po/ipa.pot
index f211ce7..b08f749 100644
--- a/install/po/ipa.pot
+++ b/install/po/ipa.pot
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: ipa\n"
 "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/";
 "newticket\n"
-"POT-Creation-Date: 2010-02-15 14:55-0500\n"
+"POT-Creation-Date: 2010-03-01 19:57-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME \n"
 "Language-Team: LANGUAGE \n"
@@ -18,104 +18,104 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../../ipalib/parameters.py:224
+#: ../../ipalib/parameters.py:295
 msgid "incorrect type"
 msgstr ""
 
-#: ../../ipalib/parameters.py:227
+#: ../../ipalib/parameters.py:298
 msgid "Only one value is allowed"
 msgstr ""
 
-#: ../../ipalib/parameters.py:791
+#: ../../ipalib/parameters.py:862
 msgid "must be True or False"
 msgstr ""
 
-#: ../../ipalib/parameters.py:892
+#: ../../ipalib/parameters.py:963
 msgid "must be an integer"
 msgstr ""
 
-#: ../../ipalib/parameters.py:943
+#: ../../ipalib/parameters.py:1014
 #, python-format
 msgid "must be at least %(minvalue)d"
 msgstr ""
 
-#: ../../ipalib/parameters.py:953
+#: ../../ipalib/parameters.py:1024
 #, python-format
 msgid "can be at most %(maxvalue)d"
 msgstr ""
 
-#: ../../ipalib/parameters.py:963
+#: ../../ipalib/parameters.py:1034
 msgid "must be a decimal number"
 msgstr ""
 
-#: ../../ipalib/parameters.py:985
+#: ../../ipalib/parameters.py:1056
 #, python-format
 msgid "must be at least %(minvalue)f"
 msgstr ""
 
-#: ../../ipalib/parameters.py:995
+#: ../../ipalib/parameters.py:1066
 #, python-format
 msgid "can be at most %(maxvalue)f"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1055
+#: ../../ipalib/parameters.py:1126
 #, python-format
 msgid "must match pattern \"%(pattern)s\""
 msgstr ""
 
-#: ../../ipalib/parameters.py:1073
+#: ../../ipalib/parameters.py:1144
 msgid "must be binary data"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1088
+#: ../../ipalib/parameters.py:1159
 #, python-format
 msgid "must be at least %(minlength)d bytes"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1098
+#: ../../ipalib/parameters.py:1169
 #, python-format
 msgid "can be at most %(maxlength)d bytes"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1108
+#: ../../ipalib/parameters.py:1179
 #, python-format
 msgid "must be exactly %(length)d bytes"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1126
+#: ../../ipalib/parameters.py:1197
 msgid "must be Unicode text"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1156
+#: ../../ipalib/parameters.py:1227
 #, python-format
 msgid "must be at least %(minlength)d characters"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1166
+#: ../../ipalib/parameters.py:1237
 #, python-format
 msgid "can be at most %(maxlength)d characters"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1176
+#: ../../ipalib/parameters.py:1247
 #, python-format
 msgid "must be exactly %(length)d characters"
 msgstr ""
 
-#: ../../ipalib/parameters.py:1215
+#: ../../ipalib/parameters.py:1286
 #, python-format
 msgid "must be one of %(values)r"
 msgstr ""
 
-#: ../../ipalib/cli.py:505
+#: ../../ipalib/cli.py:507
 #, python-format
 msgid "Enter %(label)s again to verify: "
 msgstr ""
 
-#: ../../ipalib/cli.py:509
+#: ../../ipalib/cli.py:511
 msgid "Passwords do not match!"
 msgstr ""
 
-#: ../../ipalib/cli.py:514
+#: ../../ipalib/cli.py:516
 msgid "Cancelled."
 msgstr ""
 
@@ -348,106 +348,475 @@ msgstr ""
 msgid "Certificate operation cannot be completed: %(error)s"
 msgstr ""
 
-#: ../../ipalib/plugins/rolegroup.py:50
+#: ../../ipalib/plugins/config.py:45
+msgid "Max username length"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:50
+msgid "Home directory base"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:51
+msgid "Default location of home directories"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:55
+msgid "Default shell"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:56
+msgid "Default shell for new users"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:60
+msgid "Default users group"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:61
+msgid "Default group for new users"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:65
+msgid "Default e-mail domain"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:66
+msgid "Default e-mail domain new users"
+

Re: [Freeipa-devel] [PATCH] jderose 049 Consolidate to single WSGI entry point

2010-03-01 Thread Jason Gerard DeRose
On Mon, 2010-03-01 at 14:53 -0500, Rob Crittenden wrote:
> Jason Gerard DeRose wrote:
> > This is part1 of the mod_wsgi transition.  It provides a new plugin:
> > api.Backend.session.  This is a WSGI middleware component that will
> > create the LDAP connection and then route the request to the appropriate
> > WSGI application (/xml or /json or /ui).
> > 
> > The end result is that we have a single entry point (/ipa) instead of 3,
> > and we also use the exact same code path to create and destroy the LDAP
> > connection (which is obviously good for security).
> > 
> > All this still is running under mod_python, but my next patch switches
> > things to mod_wsgi (still have a few issues on that front).
> 
> Ack.
> 
> rob

pushed to master.  thanks for the review.

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


[Freeipa-devel] [PATCH] 051 Fix spec

2010-03-01 Thread Jason Gerard DeRose
This has already been pushed to master.  This is a follow up to Rob's
conditional ack of my 050 patch.
>From 3b4c4acfd24fcfd1d4b34a355a684f0683edee38 Mon Sep 17 00:00:00 2001
From: Jason Gerard DeRose 
Date: Mon, 1 Mar 2010 21:41:41 -0700
Subject: [PATCH] Fixed ipa.spec.in to include share/ipa/wsgi.py*

---
 ipa.spec.in |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/ipa.spec.in b/ipa.spec.in
index f7f3a29..154bac6 100644
--- a/ipa.spec.in
+++ b/ipa.spec.in
@@ -384,7 +384,7 @@ fi
 %{python_sitelib}/ipaserver/*
 %{python_sitelib}/ipawebui/*
 %dir %{_usr}/share/ipa
-%{_usr}/share/ipa/wsgi.py
+%{_usr}/share/ipa/wsgi.py*
 %{_usr}/share/ipa/*.ldif
 %{_usr}/share/ipa/*.uldif
 %{_usr}/share/ipa/*.template
@@ -499,6 +499,9 @@ fi
 %endif
 
 %changelog
+* Mon Mar 1 2010 Jason Gerard DeRose  - 1.99-18
+- Fixed share/ipa/wsgi.py so .pyc, .pyo files are included
+
 * Wed Feb 24 2010 Jason Gerard DeRose  - 1.99-17
 - Added Require mod_wsgi, added share/ipa/wsgi.py
 
-- 
1.6.3.3

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] [PATCH] jderose 050 Run ipaserver under mod_wsgi

2010-03-01 Thread Jason Gerard DeRose
On Mon, 2010-03-01 at 14:56 -0500, Rob Crittenden wrote:

> Jason Gerard DeRose wrote:
> > This patch completes the transition to running under mod_wsgi.  It
> > requires my previous "049 Consolidate to single WSGI entry point" patch.
> > 
> > This is pretty strait forward, but a few things need highlighting:
> > 
> > 1. mod_wsgi requires an entry point script (you can't give it a Python
> > package name like we were doing with mod_python).  Based on my reading
> > of the Filesystem Hierarchy Standard, it seems this should be in
> > share/ipa, so that's what I did.  The script is /usr/share/ipa/wsgi.py
> > I was expecting this to cause SELinux problems, but things seem to work
> > fine.
> > 
> > 2. We are running mod_wsgi in daemon mode, which is the preferred way of
> > deploying it.  The mod_wsgi daemon has both multi-process and
> > multi-threading capabilities.  As we haven't actually used threaded code
> > much in IPA thus far (although lite-server.py is threaded), for now I
> > have the daemon running 2 processes and 1 thread (aka it's not
> > threaded).  For production I think we probably should run something like
> > 4 processes and 8 threads per process.  This can be a later change (just
> > requires a change in our ipa.conf Apache config file).
> > 
> > 3. As ipaserver is now running inside the mod_wsgi daemon, we can
> > changed from using the Apache "prefork" MPM to using "worker", which is
> > far superior for static content.  I haven't changed this yet, but we
> > should put this on our TODO.
> > 
> > I pretty much had this patch all done last Friday, but I've let things
> > slow-roast for several days to make sure it's stable.  I feel confident
> > that this is a low risk change.  All the same, I think we should get
> > this pushed as soon as possible so we can shake out any remaining
> > issues.
> >
> 
> I'm going to go ahead and ack this if you fix one thing before you push.
> 
> In ipa.spec.in you need to change:
> -%{_usr}/share/ipa/wsgi.py
> +%{_usr}/share/ipa/wsgi.py*



pushed to master, along with my 051 patch making the changes you asked
for.


> I don't think we need the Location entries at the top of ipa.conf 
> setting no handler. It worked ok for me without them, the similar 
> setting in the Directory should take care of things. More testing is 
> probably needed.



In my testing, the Location tag with "Handler none" was the only way I
could prevent the WSGI handler from gobbling up these URIs.  I think
this is because of the order in which Directory and Location are
applied.


> This doesn't work on my F-11 box, I think primarily because 
> /var/run/httpd/ has the wrong permissions. I'll investigate fixing this 
> up but since F-11 won't be supported for a whole lot longer I'm not 
> going to worry about this too much. I'll fix this in a follow-up patch.
> 
> rob
___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel