SIP-Gateway Username

Bug #485413 reported by Philipp Kempgen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gemeinschaft (by Amooma)
Status tracked in Trunk
2.3
Confirmed
Low
Unassigned
Trunk
Fix Released
Low
Unassigned
Gemeinschaft (ph.)
Status tracked in Trunk
2.3
Confirmed
Low
Unassigned
Trunk
Confirmed
Low
Unassigned

Bug Description

 affects gemeinschaft
 done

-------- Original-Nachricht --------
Betreff: Re: [gemeinschaft-users] SIP-Gateway Username
Datum: Thu, 19 Nov 2009 19:01:44 +0100
Von: Philipp Kempgen <email address hidden>
Organisation: Amooma GmbH
An: <email address hidden>
Referenzen: <email address hidden>

Panzerknacker schrieb:

> ich teste gerade mit der 2.3 Home verschiedene Anbieter. Bei einem ist
> im Usernamen automatisch ein "/" enthalten, welches beim speichern der
> Account Einstellungen automatisch entfernt wird.
> Hat das so seine Richtigkeit?

Könnte ein Fehler in Gemeinschaft sein.

Laut RFC 3261
( http://tools.ietf.org/html/rfc3261#section-25.1 ) ist

user = 1*( unreserved / escaped / user-unreserved )

      unreserved = alphanum / mark

      alphanum = ALPHA / DIGIT

      mark = "-" / "_" / "." / "!" / "~" / "*" / "'"
                     / "(" / ")"

      escaped = "%" HEXDIG HEXDIG

user-unreserved = "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"

Und laut RFC 2234
( http://tools.ietf.org/html/rfc2234#section-6.1 )

        ALPHA = %x41-5A / %x61-7A ; A-Z / a-z

        DIGIT = %x30-39
                               ; 0-9

        HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"

Erlaubte Zeichen als PCRE-Pattern:
[a-zA-Z0-9\-_.!~*'()&=+$,;?/%]

Gültige Benutzernamen als PCRE-Pattern:
(?:[a-zA-Z0-9\-_.!~*'()&=+$,;?/]|%[0-9A-F]{2})+

In Gemeinschaft (/opt/gemeinschaft/htdocs/gui/mod/routing_gws-sip.php)
müßte wohl folgendes geändert werden:
---cut---
 `user` = \''. $DB->escape(preg_replace('/[^a-zA-Z0-9\-_.@]/', '', @$_REQUEST['gw-user'])) .'\',
---cut---
zu
---cut---
 `user` = \''. $DB->escape(preg_replace('/[^a-zA-Z0-9\-_.!~*'()&=+$,;?/%@]/', '', @$_REQUEST['gw-user'])) .'\',
---cut---
(ungetestet!)

Allerdings ist ein "/" im Benutzernamen auch sehr ungewöhnlich.
Ich will gar nicht wissen auf wie vielen Geräten das nicht
funktioniert.

summary: - Fwd: Re: [gemeinschaft-users] SIP-Gateway Username
+ SIP-Gateway Username
Revision history for this message
Philipp Kempgen (philipp-kempgen) wrote :

"/" muß escapt werden als "\/".

 `user` = \''. $DB->escape(preg_replace('/[^a-zA-Z0-9\-_.!~*'()&=+$,;?\\/%@]/', '', @$_REQUEST['gw-user'])) .'\',

Revision history for this message
Philipp Kempgen (philipp-kempgen) wrote :

Gefixt in 6a193f20139b562fc7ce7ad4a9adcfeeb29aeb76

Revision history for this message
Robert Griebl (robert-griebl) wrote :

SIP geht damit zwar, aber der gleiche Fix muesste auch noch in /opt/gemeinschaft/htdocs/gui/mod/routing_gws-iax.php, damit z.B. die IAX2 Anbindung an BlueSIP funktioniert.

Die geaenderte RegExp von sip nach iax kopiert funktioniert hier einwandfrei mit einer Gemeinschaft 3.0.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.