Bug 189949 - Review Request: mystun - STUN (Simple Traversal of UDP through NATs) server
Summary: Review Request: mystun - STUN (Simple Traversal of UDP through NATs) server
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: manuel wolfshant
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-04-26 01:23 UTC by Andreas Thienemann
Modified: 2008-01-05 23:27 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-12-17 15:07:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andreas Thienemann 2006-04-26 01:23:38 UTC
Spec URL: http://home.bawue.de/~ixs/mystun/mystun.spec
SRPM URL: http://home.bawue.de/~ixs/mystun/mystun-cvs_20060204-1.src.rpm
Description:
The STUN (Simple Traversal of UDP through NATs (Network Address Translation))
server is an implementation of the STUN protocol that enables STUN
functionality in SIP-based systems.
STUN is an application-layer protocol that can determine the public IP and
nature of a NAT device that sits between the STUN client and STUN server.

Comment 1 Parag AN(पराग) 2006-06-01 13:34:20 UTC
SOURCE tag is not URL

Comment 2 Andreas Thienemann 2006-06-01 14:52:30 UTC
The Source Tag cannot be an URL as it's a CVS checkout.
Tough luck there.

Comment 3 Patrice Dumas 2006-08-10 12:27:06 UTC
From a quick look at the srpm name, it doesn't seems to be
named according to the naming guidelines (although this case
is a bit unusuall).

Comment 4 Dennis Gilmore 2006-08-10 14:02:16 UTC
andreas please read http://fedoraproject.org/wiki/Packaging/NamingGuidelines  
namely the section on snapshot packages. it explains  clearly  how you should 
name and do the versioning on your package.

otherwise after a quick glance it looks ok. you state  how to get the source.

Comment 5 Dennis Gilmore 2006-08-10 14:04:32 UTC
I forgot to say its nice to add a bash script  that does a checkout and 
tarballs it up  but that is not vital  as long as we know  how you created 
your tarball so that we can reproduce  to verify source

Comment 7 Andreas Thienemann 2007-03-10 22:20:14 UTC
Woah. Upstream did a 1.0 release.

The package is at http://home.bawue.de/~ixs/mystun/mystun-1.0-1.src.rpm and the
.spec at http://home.bawue.de/~ixs/mystun/mystun.spec


Comment 8 manuel wolfshant 2007-03-13 02:37:53 UTC
Good:

- rpmlint checks return:
on source
W: mystun strange-permission mystun.init 0755
->can be ignored, it's a startup script
E: mystun no-cleaning-of-buildroot %clean
-> I was almost ready to say it's an rpmlint error, but then I noticed that rm
-rf ${buildroot} and rm -rf %{buildroot} are not really the same :)
on generated binary:
W: mystun wrong-file-end-of-line-encoding /usr/share/doc/mystun-1.0/README
W: mystun wrong-file-end-of-line-encoding /usr/share/doc/mystun-1.0/COPYING
Running dos2unix will make rpmlint happy here. Not a blocker, anyway.
- package meets naming guidelines
- package meets packaging guidelines
- license (GPL)is OK, text in %doc, matches source
- spec file legible, in am. english
- source matches upstream, sha1sum is
35685456e7cbf31f831d106b19185ccea7c3952f  /tmp/mystun-1.0-source.zip
- package compiles on devel (x86_64)
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- owns all directories that it creates
- no duplicate files
- permissions ok
- %clean ok
- macro use consistent
- code, not content
- no need for -docs
- nothing in %doc affects runtime
- no need for .desktop file 
- no static files, no libtool, no pkconfig
- scriptlets are sane, correctly Requires chkconfig and service

SHOULD
- compiles and builds happily in mock/devel/x86_64, but ignores the fedora
specific compilation flags


MUSTFIX:
- fixing the typo in %clean ($-->%) 
- the Makefile overrides CFLAGS, therefore $rpm_opt_flags is not used. Please
patch it; I did not test but I think that a simple sed similar to
"s/-DOPENSSL_NO_KRBS/-DOPENSSL_NO_KRBS (CFLAGS)/" should be enough


Andreas, please address the above. After that I'll do a test run (I am not going
to test the version which does not take the compiler flags into account since it
might be way different to the final one) and assuming no issues appear, we are
good to go.

Comment 9 Andreas Thienemann 2007-03-13 11:49:06 UTC
http://home.bawue.de/~ixs/mystun/mystun-1.0-2.src.rpm has been updated and
should fix all outstanding issues.

Comment 10 manuel wolfshant 2007-03-13 15:50:53 UTC
Indeed, the two problems are fixed and the program builds successfully in mock /
fedora 6 / x86_64
However, I can't make it start:
# service mystun start
Starting mystun server: using intefaces:0 and 1
pid file contains old pid, replacing pid
                                                           [  OK  ]
# service mystun status
mystun dead but subsys locked

(this is after 3-4 unsucessfull attempts)
The machine has two ethernet interfaces, both are up.
I have the same problem on another machine which has one interface only.
Starting it manually gives:
# /usr/sbin/mystun-server -i eth0
using intefaces:52 and 55
strange family 0 skipping...
strange family 29797 skipping...
strange family 0 skipping...
strange family 0 skipping...
strange family 29797 skipping...
strange family 0 skipping...
Located interfaces
    [127.0.0.1] ip->127.0.0.1
Before daemonize pid is [27527] parent [27296]
init_ss: BUG: unknown address family 0
ERROR: udp_init: could not init sockaddr_union
ERROR:udp init failed
Unable to udp_init bind_address
Initialazing failed ... code -1

I have the very same errors with "-i eth0,eth1" as arg...


Comment 11 Andreas Thienemann 2007-03-15 14:11:14 UTC
(In reply to comment #10)

> Starting it manually gives:
> # /usr/sbin/mystun-server -i eth0
> I have the very same errors with "-i eth0,eth1" as arg...

That is the problem. The program does not want eth0,eth1 but either 1,2 or
(makes more sense (IMHO) 192.168.1.l,192.168.1.2 as parameters for -i.

The config file /etc/sysconfig/mystun contains example entries and is consulted
by the initscript.

Could you try that way please?

Comment 12 manuel wolfshant 2007-03-15 14:43:56 UTC
The very first time I tried to start the server after editing
etc/sysconfig/mystun. I've performed the manual tests because using the  init.d
script was not successfull:
[root]# cat /etc/sysconfig/mystun
### mystun NAT traversal server
###
### For correct operation, the mystun-server has to bind to two different
### ip addressed. Please configure your server accordingly and specify
### these two addresses here.
###

# First Interface
int1="192.168.1.1"
# Second Interface
int2="192.168.50.31"
# extra options
extra_opts=""

[root]# service mystun start
Starting mystun server: using intefaces:0 and 1
pid file contains old pid, replacing pid
                                                           [  OK  ]
[root]# service mystun status
mystun dead but subsys locked


[root]# /usr/sbin/mystun-server -i 192.168.50.31,192.168.1.1
using intefaces:0 and 1
strange family 0 skipping...
strange family 29797 skipping...
strange family 0 skipping...
strange family 0 skipping...
strange family 29797 skipping...
strange family 0 skipping...
Located interfaces
    [127.0.0.1] ip->127.0.0.1
Before daemonize pid is [28817] parent [28757]
Sending FROM: 127.0.0.1:3478
NOTICE:udp init succeded 3
Sending FROM: 127.0.0.1:3479
NOTICE:udp init succeded 4
init_ss: BUG: unknown address family 0
ERROR: udp_init: could not init sockaddr_union
ERROR:udp init failed
Unable to udp_init alternate_address
Initialazing failed ... code -1


Comment 13 Andreas Thienemann 2007-03-16 15:41:32 UTC
Could you send me your "ip addr show" output please? I simply cannot reproduce
your problem here. What fedora version are you running that on? fc6?

Comment 14 manuel wolfshant 2007-03-16 15:45:07 UTC
[root]# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: peth0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:16:76:8a:55:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
4: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
5: vif0.0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether 00:16:76:8a:55:f8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.31/24 brd 192.168.50.255 scope global eth0
    inet6 fe80::216:76ff:fe8a:55f8/64 scope link
       valid_lft forever preferred_lft forever
7: vif0.1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
8: veth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: vif0.2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
10: veth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
11: vif0.3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
12: veth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
13: xenbr0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::200:ff:fe00:0/64 scope link
       valid_lft forever preferred_lft forever
14: vif1.0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever
16: vif3.0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever
32: vif19.0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever
34: vif21.0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fcff:ffff:feff:ffff/64 scope link
       valid_lft forever preferred_lft forever

[root]# cat /etc/redhat-release
Fedora Core release 6 (Zod)


Comment 15 manuel wolfshant 2007-08-12 23:54:51 UTC
Andreas, anything new ?

Comment 16 manuel wolfshant 2007-12-10 11:34:15 UTC
I will close this bug in one week if there is no activity meanwhile.

Comment 17 manuel wolfshant 2008-01-05 23:27:44 UTC
removing the FE_REVIEW blocker too...


Note You need to log in before you can comment on or make changes to this bug.