On Wed, 8 Aug 2018 at 02:46, Scott Moser <ssmoser2+ubu...@gmail.com>
wrote:

> @mwhudson,
> your suggested change seems reasonable to me.
> I don't love the use of 'eval', but it seems reasonably safe here.
>

I don't either, but I don't think there is any alternative here is
there?


> Instead of quoting you could just reject argv[1] input if it
> had characters other than [a-zA-z_.-] .  Perhaps that makes
> this more difficult.
>

If I'd thought of this before writing the quote function I'd probably have
gone for it...


> Also, maybe you should try to 'setlocale(argv[1])' to check that
> it is valid ? Ie, as it is right now if input is bogus then
> the program will exit success and write bogus output.
>

Hmm maybe that would make sense. OTOH given the circumstances it's called
in I'm not sure this is very important.

I could ameliorate both your points by just hardcoding the default locale
to C.UTF-8...

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to base-files in Ubuntu.
https://bugs.launchpad.net/bugs/1134036

Title:
  Failure when using ssh with a locale that is not configured on the
  server

Status in base-files package in Ubuntu:
  In Progress
Status in maas package in Ubuntu:
  Invalid

Bug description:
  If LC_ALL is not set (which seems to be the default on a few server
  installations I've done now), mid way through installing, you get this
  backtrace and then the installation just hangs.  You can ctrl-c out of
  it but the package is left half configured.

  Traceback (most recent call last):
    File "/usr/bin/django-admin", line 5, in <module>
      management.execute_from_command_line()
    File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 443, in execute_from_command_line
      utility.execute()
    File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 382, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", 
line 196, in run_from_argv
      self.execute(*args, **options.__dict__)
    File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", 
line 232, in execute
      output = self.handle(*args, **options)
    File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", 
line 371, in handle
      return self.handle_noargs(**options)
    File 
"/usr/lib/python2.7/dist-packages/south/management/commands/syncdb.py", line 
90, in handle_noargs
      syncdb.Command().execute(**options)
    File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", 
line 232, in execute
      output = self.handle(*args, **options)
    File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", 
line 371, in handle
      return self.handle_noargs(**options)
    File 
"/usr/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", 
line 57, in handle_noargs
      cursor = connection.cursor()
    File "/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py", 
line 308, in cursor
      cursor = util.CursorWrapper(self._cursor(), self)
    File 
"/usr/lib/python2.7/dist-packages/django/db/backends/postgresql_psycopg2/base.py",
 line 177, in _cursor
      self.connection = Database.connect(**conn_params)
    File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in 
connect
      connection_factory=connection_factory, async=async)
  psycopg2.OperationalError: FATAL:  password authentication failed for user 
"maas"
  FATAL:  password authentication failed for user "maas"

  
  Related bugs:
   * bug 969462: [postgres] fails to start after install if invalid locale is 
set

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/base-files/+bug/1134036/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to