Discussion:
[jadmin] Stream Error
debarshi kumar banerjee
2012-10-23 13:27:49 UTC
Permalink
Hi,

I have installed jabberd14 on Centos 6 64bit using yum and have configured
it accordingly. But after starting the daemon when i am trying to test i am
getting a stream error. The error is:

*<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'><stream:error
xmlns:stream='http://etherx.jabber.org/streams'><xml-not-well-formed
xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text
xmlns='urn:ietf:params:xml:ns:xmpp-streams'>syntax
error</text></stream:error></stream:stream>*
*
*
Please tell me what I am doing wrong?

thanks in advance,
regards,
Debarshi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121023/1f656ccb/attachment.html>
Peter Saint-Andre
2012-10-23 13:36:14 UTC
Permalink
Post by debarshi kumar banerjee
Hi,
I have installed jabberd14 on Centos 6 64bit using yum and have
configured it accordingly. But after starting the daemon when i am
*<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'><stream:error
xmlns:stream='http://etherx.jabber.org/streams'><xml-not-well-formed
xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text
xmlns='urn:ietf:params:xml:ns:xmpp-streams'>syntax
error</text></stream:error></stream:stream>*
*
*
Please tell me what I am doing wrong?
Please tell us what you are sending to the server. Are you connecting
with a standard client, or your own code? What exact XML are you sending
to the server?

Peter
--
Peter Saint-Andre
https://stpeter.im/
debarshi kumar banerjee
2012-10-23 13:45:24 UTC
Permalink
Well I am using strophe.js. You can check out the code:
http://digivaasi.in/luexp/bi/ where i am trying receive a message.

Now when i am looking at the developer console in chrome i am getting this.
Post by Peter Saint-Andre
Post by debarshi kumar banerjee
Hi,
I have installed jabberd14 on Centos 6 64bit using yum and have
configured it accordingly. But after starting the daemon when i am
*<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
version='1.0'><stream:error
xmlns:stream='http://etherx.jabber.org/streams'><xml-not-well-formed
xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text
xmlns='urn:ietf:params:xml:ns:xmpp-streams'>syntax
error</text></stream:error></stream:stream>*
*
*
Please tell me what I am doing wrong?
Please tell us what you are sending to the server. Are you connecting
with a standard client, or your own code? What exact XML are you sending
to the server?
Peter
--
Peter Saint-Andre
https://stpeter.im/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121023/a42c423f/attachment.html>
Peter Saint-Andre
2012-10-23 13:50:13 UTC
Permalink
Post by debarshi kumar banerjee
http://digivaasi.in/luexp/bi/ where i am trying receive a message.
Now when i am looking at the developer console in chrome i am getting this.
Sorry, I don't have time to look at your code right now. :(

Let's test one thing at a time...

1. To see if your server is running correctly, please try to connect
with any standard XMPP client (Psi, Swift, Adium, Pidgin, Pandion,
Gajim, etc.).

2. Then, if it is running correctly, try your custom code on top of Strophe.

Peter
--
Peter Saint-Andre
https://stpeter.im/
debarshi kumar banerjee
2012-10-23 14:11:37 UTC
Permalink
Using Pandion I am not being able to log in. Ok so obviously I have some
setting wrong. Can you help me out with a standard/basic setting to get it
up and running.

When checking i can see jabberd is running four processes and i cannot seem
find an error in the log also.
Post by Peter Saint-Andre
Post by debarshi kumar banerjee
http://digivaasi.in/luexp/bi/ where i am trying receive a message.
Now when i am looking at the developer console in chrome i am getting
this.
Sorry, I don't have time to look at your code right now. :(
Let's test one thing at a time...
1. To see if your server is running correctly, please try to connect
with any standard XMPP client (Psi, Swift, Adium, Pidgin, Pandion,
Gajim, etc.).
2. Then, if it is running correctly, try your custom code on top of Strophe.
Peter
--
Peter Saint-Andre
https://stpeter.im/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121023/54b26eff/attachment.html>
Peter Saint-Andre
2012-10-23 14:21:32 UTC
Permalink
Unfortunately I'm out of time to provide assistance for at least the
next 12 hours, but perhaps someone else on the list can help (or join
the jdev at conference.jabber.org chatroom).
Post by debarshi kumar banerjee
Using Pandion I am not being able to log in. Ok so obviously I have some
setting wrong. Can you help me out with a standard/basic setting to get
it up and running.
When checking i can see jabberd is running four processes and i cannot
seem find an error in the log also.
On Tue, Oct 23, 2012 at 7:20 PM, Peter Saint-Andre <stpeter at stpeter.im
Post by debarshi kumar banerjee
http://digivaasi.in/luexp/bi/ where i am trying receive a message.
Now when i am looking at the developer console in chrome i am
getting this.
Sorry, I don't have time to look at your code right now. :(
Let's test one thing at a time...
1. To see if your server is running correctly, please try to connect
with any standard XMPP client (Psi, Swift, Adium, Pidgin, Pandion,
Gajim, etc.).
2. Then, if it is running correctly, try your custom code on top of Strophe.
Peter
--
Peter Saint-Andre
https://stpeter.im/
herbert langhans
2012-10-23 14:30:42 UTC
Permalink
I could send you my jabber.xml if you can make use of it. Or send me
your domain name (off list if you prefer) and I try to register on your
server. I use pidgin and have it sucessfully working with jabberd 1.4.
Its a NetBSD-system though.

Cheers
herb langhans
debarshi kumar banerjee
2012-10-23 16:20:35 UTC
Permalink
hi herbert,

the thing is and this might sound stupid since i am a noob as far as xmpp
goes but i do not have a jabber.xml, what i have is split into c3s.xml,
s2s.xml and router.xml.
Post by herbert langhans
I could send you my jabber.xml if you can make use of it. Or send me
your domain name (off list if you prefer) and I try to register on your
server. I use pidgin and have it sucessfully working with jabberd 1.4.
Its a NetBSD-system though.
Cheers
herb langhans
_______________________________________________
JAdmin mailing list
Info: http://mail.jabber.org/mailman/listinfo/jadmin
Unsubscribe: JAdmin-unsubscribe at jabber.org
_______________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121023/514d0572/attachment-0001.html>
herbert langhans
2012-10-23 18:40:29 UTC
Permalink
Hi Debarshi,
there must be some file with the contents what I listed below. Possibly
with some xml-extension - but the extension may differ. Find it.

Have you taken a look at:
http://jabberd.org/1.4/doc/adminguide

- and at the end you find my /usr/pkg/etc/jabberd/jabber.xml
Where I had insert jabber.youhost.com you have to put your (registered)
domain in. If your website is http://yourhost.com you have to put in
jabber.youhost.com or whatever you invent instead of 'jabber'.

####### jabber.xml (from a NetBSD server) follows ########



<jabber>

<!--
This is the Jabber server configuration file. The file is
broken into different sections based on the services being
managed by jabberd, the server daemon. Most of the important
sections have comments and are easy to modify. You can find
full instructions in the server howto, which is available at
http://docs.jabber.org/. Note that when you see a tag like
"jabberd:cmdline", it's automatically replaced on startup
with the command line flag passed in to jabberd. This enables
you to override parameters set in this configuration file if
necessary or desired. Also note as you comment things in and
out that jabberd does not like comments within comments, so
be careful with your XML. :)
-->


<!--
The following <service/> section is for the session manager,
the most important component within the server. This section
contains the following types of information:

* the server's hostname
* other basic server information
* the location of the session log file
* email addresses for server administrators
* the location of the server that provides update information
* registration instructions for new users
* a welcome message for new users
* a list of agents with which users can register
* load rules for the modules within the session manager

-->

<service id="sessions">

<!--
Change hostname below to something other than "localhost",
i.e., to the hostname or IP address of your Jabber server.
Multiple <host/> entries are allowed - each one is for a
separate virtual server. Note that each host entry must
be on one line, the server doesn't like it otherwise! :)
-->

<!--
<host><jabberd:cmdline flag="h">localhost</jabberd:cmdline></host>
-->
<host><jabberd:cmdline flag="h">jabber.yourhost.com</jabberd:cmdline></host>

<!--
This is the custom configuration section for the
Jabber session manager, a.k.a. "JSM".
-->

<jsm xmlns="jabber:config:jsm">

<!--
The <filter/> section below determines settings
for mod_filter, a server-side module built into
JSM that enables users to set delivery rules for
messages they receive (not yet supported by all
clients. The <allow/> subsection specifies which
conditions and actions to enable. High-level
descriptions of each setting can be found below
(see docs.jabber.org for full details):

* <default/> - a user cannot delete this one, it's
the default rule for delivering messages
* <max_size/> - the maximum number of rules in a
user's rule set (we don't want to overdo it!)
* conditions...
* <ns/> - matches the query xmlns attrib on an iq packet
* <unavailable/> - matches when user is unavailable
* <from/> - matches the sender of the message
* <resource/> - matches the receiver's resource
* <subject/> - matches the subject of the message
* <body/> - matches the body of the message
* <show/> - matches the show tag on the receiver's presence
* <type/> - matches the type of the message
* <roster/> - matches if the sender is in your roster
* <group/> - matches if the sender is in the specified group
* actions...
* <error/> - replies with an error
* <offline/> - stores the messages offline
* <forward/> - forwards the message to another jid
* <reply/> - sends a reply to the sender of the message
* <continue/> - continues processing of the rules
* <settype/> - changes the type of the message
-->
<filter>
<default/>
<max_size>100</max_size>
<allow>
<conditions>
<ns/> <!-- Matches if the iq's xmlns is the same as the specified namespace -->
<unavailable/> <!-- Flag that matches when the reciever is unavailable (offline) -->
<from/> <!-- Matches if the sender's jid is the specified jid -->
<resource/> <!-- Matches if the sender's resource (anything after the / in a jid) is the specified resource -->
<subject/> <!-- Matches if the message's subject is the specified subject (no regex yet) -->
<body/> <!-- Matches if the message body is the specified body (no regex yet) -->
<show/> <!-- Matches if the receiver's presence has a show tag that is the same as the specified text -->
<type/> <!-- Matches if the type of the message is the same as the specified text ("normal" is okay) -->
<roster/> <!-- Flag that matches when the sender is in the receiver's roster -->
<group/> <!-- Matches when the sender is in the specified group -->
</conditions>
<actions>
<error/> <!-- Sends back an error message to the sender, with the specified text -->
<offline/> <!-- Flag that stores the message offline -->
<forward/> <!-- forwards the message to the specified jid -->
<reply/> <!-- Sends back a reply to the sender with the specified text in the body -->
<continue/> <!-- Flag that continues rule matching, after a rule matches -->
<settype/> <!-- Changes the type of message to the specified type, before delivery to the receiver -->
</actions>
</allow>
</filter>

<!-- The server vCard -->

<vCard>
<FN>Jabber Server</FN>
<DESC>A Jabber Server!</DESC>
<URL>http://jabber.yourhost.com/</URL>
</vCard>

<!--
Registration instructions and required fields. The
notify attribute will send the server administrator(s)
a message after each valid registration if it is set
to "yes".
-->

<register notify="yes">
<instructions>Choose a username and password to register with this server.</instructions>
<name/>
<email/>
</register>

<!--
A welcome note that is sent to every new user who registers
with your server. Comment it out to disable this function.
-->

<welcome>
<subject>Welcome!</subject>
<body>Welcome to the Jabber server at http://jabber.youhost.com -- we hope you enjoy this service! For information about how to use Jabber, visit the Jabber User's Guide at http://jabber.org/</body>
</welcome>

<!--
IDs with admin access - these people will receive admin
messages (any message to="yourhostname" is an admin
message). These addresses must be local ids, they cannot
be remote addresses.

Note that they can also send announcements to all
users of the server, or to all online users. To use
the announcement feature, you need to send raw xml and be
logged in as one of the admin users. Here is the syntax
for sending an announcement to online users:

<message to="yourhostname/announce/online">
<body>announcement here</body>
</message>

<message to="yourhostname/announce/motd">
<body>message (of the day) that is sent only once to all users that are logged in and additionally to new ones as they log in</body>
</message>

Sending to /announce/motd/delete will remove any existing
motd, and to /announce/motd/update will only update the motd
without re-announcing to all logged in users.

The <reply> will be the message that is automatically
sent in response to any admin messages.
-->

<!--
<admin>
<read>support at localhost</read>
<write>admin at localhost</write>
<reply>
<subject>Auto Reply</subject>
<body>This is a special administrative address. Your message was received and forwarded to server administrators.</body>
</reply>
</admin>
-->

<!--
This is the resource that checks for updated versions
of the Jabber server software. Note that you don't lose
any functionality if you comment this out. Removing the
<update/> config is especially a good strategy if your
server is behind a firewall. If you want to use this
feature, change 'localhost' to the hostname or IP address
of your server, making sure that it is the same as your
entry for <host/> above.
-->

<!--
<update><jabberd:cmdline flag="h">localhost</jabberd:cmdline></update>
-->

<!--
This enables the server to automatically update the
user directory when a vcard is edited. The update is
only sent to the first listed jud service below. It is
safe to remove this flag if you do not want any users
automatically added to the directory.
-->

<vcard2jud/>

<!--
The <browse/> section identifies the transports and other
services that are available from this server. Note that each
entity identified here must exist elsewhere or be further
defined in its own <service/> section below. These services
will appear in the user interface of Jabber clients that
connect to your server.
-->

<browse>

<!--
This is the default agent for the master Jabber User
Directory, a.k.a. "JUD", which is located at jabber.org.
You can add separate <service/> sections for additional
directories, e.g., one for a company intranet.
-->

<!--
<service type="jud" jid="users.jabber.org" name="Jabber User Directory">
<ns>jabber:iq:search</ns>
<ns>jabber:iq:register</ns>
</service>
-->

<!--
The following services are examples only, you will need to
create/modify them to get them working on your Jabber
server. See the README files for each service and/or the
server howto for further information/instructions.
-->

<!-- we're commenting these out, of course :)

<conference type="private" jid="conference.localhost" name="Private Conferencing"/>

<service type="aim" jid="aim.localhost" name="AIM Transport">
<ns>jabber:iq:gateway</ns>
<ns>jabber:iq:register</ns>
</service>

<service type="yahoo" jid="yahoo.localhost" name="Yahoo! Transport">
<ns>jabber:iq:gateway</ns>
<ns>jabber:iq:register</ns>
</service>

end of <service/> examples -->

</browse>

</jsm>

<!--
The following section dynamically loads the individual
modules that make up the session manager. Remove or
comment out modules to disable them. Note that the order
of modules is important, since packets are delivered
based on the following order!!
-->

<load main="jsm">
<jsm>/usr/pkg/lib/jabberd/jsm.so</jsm>
<mod_echo>/usr/pkg/lib/jabberd/jsm.so</mod_echo>
<mod_roster>/usr/pkg/lib/jabberd/jsm.so</mod_roster>
<mod_time>/usr/pkg/lib/jabberd/jsm.so</mod_time>
<mod_vcard>/usr/pkg/lib/jabberd/jsm.so</mod_vcard>
<mod_last>/usr/pkg/lib/jabberd/jsm.so</mod_last>
<mod_version>/usr/pkg/lib/jabberd/jsm.so</mod_version>
<mod_announce>/usr/pkg/lib/jabberd/jsm.so</mod_announce>
<mod_agents>/usr/pkg/lib/jabberd/jsm.so</mod_agents>
<mod_browse>/usr/pkg/lib/jabberd/jsm.so</mod_browse>
<mod_admin>/usr/pkg/lib/jabberd/jsm.so</mod_admin>
<mod_filter>/usr/pkg/lib/jabberd/jsm.so</mod_filter>
<mod_offline>/usr/pkg/lib/jabberd/jsm.so</mod_offline>
<mod_presence>/usr/pkg/lib/jabberd/jsm.so</mod_presence>
<mod_auth_plain>/usr/pkg/lib/jabberd/jsm.so</mod_auth_plain>
<mod_auth_digest>/usr/pkg/lib/jabberd/jsm.so</mod_auth_digest>
<mod_auth_0k>/usr/pkg/lib/jabberd/jsm.so</mod_auth_0k>
<mod_log>/usr/pkg/lib/jabberd/jsm.so</mod_log>
<mod_register>/usr/pkg/lib/jabberd/jsm.so</mod_register>
<mod_xml>/usr/pkg/lib/jabberd/jsm.so</mod_xml>
</load>

</service>

<!-- OK, we've finished defining the Jabber Session Manager. -->

<!-- The <xdb/> component handles all data storage, using the filesystem. -->

<xdb id="xdb">
<host/>
<load>
<xdb_file>/usr/pkg/lib/jabberd/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
<spool><jabberd:cmdline flag='s'>/var/spool/jabberd</jabberd:cmdline></spool>
</xdb_file>
</xdb>

<!--
The following service manages incoming client socket connections.
There are several items you can set here to optimize performance:

* authtime - default is unlimited, but you can set this to
limit the amount of time allowed for authentication to be
completed, e.g., <authtime>10</authtime> for 10 seconds

* karma - this is an input/output rate limiting system that
the Jabber team came up with to prevent bandwidth hogging.
For details about karma, read the io section at the bottom
and/or see docs.jabber.org. These are the low settings and
apply per connection/socket and can be changed as desired.
-->

<service id="c2s">
<load>
<pthsock_client>/usr/pkg/lib/jabberd/pthsock_client.so</pthsock_client>
</load>
<pthcsock xmlns='jabber:config:pth-csock'>
<authtime/>
<karma>
<init>10</init>
<max>10</max>
<inc>1</inc>
<dec>1</dec>
<penalty>-6</penalty>
<restore>10</restore>
</karma>

<!--
Use these to listen on particular addresses and/or ports.
<ip port="5222">127.0.0.1</ip>
-->
<ip port="5222"/>

<!--
The <ssl/> tag acts pretty much like the <ip/> tag,
except it defines that SSL is to be used on the
ports and IP addresses specified. You must specify
an IP address here, or the connections will fail.
<ssl port='5223'>127.0.0.1</ssl>
<ssl port='5224'>192.168.1.100</ssl>
-->

</pthcsock>
</service>

<!--
This is the default server error logging component,
which copies to a file and to STDERR.
-->

<log id='elogger'>
<host/>
<logtype/>
<format>%d: [%t] (%h): %s</format>
<file>/var/log/jabberd/error.log</file>
<stderr/>
</log>

<!--
This is the default server record logging component,
which logs general statistical/tracking data.
-->

<log id='rlogger'>
<host/>
<logtype>record</logtype>
<format>%d %h %s</format>
<file>/var/log/jabberd/record.log</file>
</log>

<!-- The following two services are for handling server-to-server traffic. -->

<!-- External asychronous DNS resolver -->

<service id="dnsrv">
<host/>
<load>
<dnsrv>/usr/pkg/lib/jabberd/dnsrv.so</dnsrv>
</load>
<dnsrv xmlns="jabber:config:dnsrv">
<resend service="_jabber._tcp">s2s</resend> <!-- for supporting SRV records -->
<resend>s2s</resend>
</dnsrv>
</service>

<!--
The following 's2s' config handles server connections and
dialback hostname verification. The <legacy/> element is
here to enable communication with old 1.0 servers. The
karma settings are a little higher here to handle the
higher traffic of server-to-server connections (read
the io section below for more details, medium settings).
-->

<service id="s2s">
<load>
<dialback>/usr/pkg/lib/jabberd/dialback.so</dialback>
</load>
<dialback xmlns='jabber:config:dialback'>
<legacy/>
<!-- Use these to listen on particular addresses and/or ports.
<ip port="7000"/>
<ip port="5269">127.0.0.1</ip>
-->
<ip port="5269"/>
<karma>
<init>50</init>
<max>50</max>
<inc>4</inc>
<dec>1</dec>
<penalty>-5</penalty>
<restore>50</restore>
</karma>
</dialback>
</service>

<!--
If you identified additional agents in the main <service/>
section (see examples above), you'll need to define each
of them here using a separate <service/> section for each
<agent/> you identified. Note that the <agent/> sections
determine what gets shown to clients that connect to your
server, whereas the following <service/> sections define
these services within the server itself. The following are
examples only, you will need to create/modify them to get
them working on your Jabber server. See the README files
for each agent and/or the server howto for further
information/instructions.
-->

<!-- we're commenting these out, of course :)

<service id="conference">
<load>
<groupchat>/path/to/groupchat.so</groupchat>
</load>
<host>conference.localhost</host>
</service>

<service id="irc">
<host>irc.localhost</host>
</service>

<service id="aim.localhost">
<accept>
<ip/>
<port>7009</port>
<secret>jabber-rocks</secret>
</accept>
</service>

<service id="yahoo.localhost">
<accept>
<ip/>
<port>9001</port>
<secret>jabber-rocks</secret>
</accept>
</service>

end of <service/> examples -->

<!--
The following <io/> config initializes the top-level
I/O, otherwise known as MIO (Managed Input/Output).
-->

<io>

<!-- Set the default karma for *all* sockets -->
<!-- definition of terms:

* Avg. Throughput - The number of bytes you can
send every second without incuring any penalty.

* Burst Allowed - The maximum number of bytes you
can send in 2 seconds without incurring any penalty.

* Max Sustained Rate - If you send data as fast as
you can, you will hit penalty, and will not be
able to send for 10 seconds; the max sustained
rate is the average rate you can dump data when
you are dumping as much data as you can, as fast
as you can.

* Seconds to Recover from Burst - The amount of time
it will take to reach Avg. Throughput capability
after sending a max burst of data.

* Penalty Length - The length of your penalty is
determined according to this formula:
abs(penalty) * Heartbeat seconds
E.g., a penalty of -5 and heartbeat of 2 will
cause your penalty length to be 10 seconds.
Note that a penalty CANNOT be less than -100,
otherwise strange things might happen.

-->
<!-- Example of Low Karma Limits
Avg. Throughput: 1k-2k/s
Burst Allowed To: 5.5k/s
Max Sustained Rate: 485b/s
Seconds to Recover from Burst: 20
Penalty Length: 12 seconds
<karma>
<heartbeat>2</heartbeat>
<init>10</init>
<max>10</max>
<inc>1</inc>
<dec>1</dec>
<penalty>-6</penalty>
<restore>10</restore>
</karma>
-->

<!-- Example of Medium Karma Limits
Avg. Throughput: 5k-10k/s
Burst Allowed: 125.5k/s
Max Sustained Rate: 12.6k/s
Seconds to Recover From Burst: 25
Penalty Length: 10 seconds
<karma>
<heartbeat>2</heartbeat>
<init>50</init>
<max>50</max>
<inc>4</inc>
<dec>1</dec>
<penalty>-5</penalty>
<restore>50</restore>
</karma>
-->

<!-- Example of High Karma Limits
Avg. Throughput: 5k-10k/s
Burst Allowed: 206k/s
Max Sustained Rate: 34.3k/s
Seconds to Recover from Burst: 21
Penalty Length: 6 seconds
<karma>
<heartbeat>2</heartbeat>
<init>64</init>
<max>64</max>
<inc>6</inc>
<dec>1</dec>
<penalty>-3</penalty>
<restore>64</restore>
</karma>
-->

<!--
Set rate limits to monitor the number of connection
attempts from a single IP, any more than [points]
within [time] will engage the limit. This setting
applies to all incoming connections to any service,
unless otherwise overridden by that service.
-->

<rate points="5" time="25"/>

<!--
The following section initializes SSL for top-level I/O.
This works only when the server is compiled with openssl!
-->
<!--
<ssl>
<key ip='192.168.1.1'>/path/to/cert_and_key.pem</key>
<key ip='192.168.1.100'>/path/to/other/cert_and_key.pem</key>
</ssl>
-->

<!--
The following section is used to allow or deny
communications from specified IP networks or
addressses. If there is no <allow/> section,
then *all* IPs will be allowed to connect. If
you allow one block, then only that block may
connect. Note that <allow/> is checked before
<deny/>, so if a specific address is allowed
but the network for that address is denied,
then that address will still be denied.
-->
<!--
<allow><ip>127.0.0.0</ip><mask>255.255.255.0</mask></allow>
<allow><ip>12.34.56.78</ip></allow>
<deny><ip>22.11.44.0</ip><mask>255.255.255.0</mask></deny>
-->

</io>

<!--
This specifies the file to store the pid of the process in.
<pidfile>/var/run/jabber.pid</pidfile>
<pidfile>/var/run/jabberd/jabber.pid</pidfile>
-->

</jabber>

############### end of jabber.xml ##################
debarshi kumar banerjee
2012-10-25 06:06:49 UTC
Permalink
Hi Herbert,

Thanks a lot for sharing your jabber.xml with me. I need another help. I
have since then uninstalled the jabberd and downloaded jabber14 1.6.1.1
from the website and tried to build it from source instead of installing
from rpm. Now according to the requirements I installed gnu pth 2.0.7 but
when i run make after running ./configure* *it says i get No targets
specified and no makefile found.* *I read the docs inside out i cannot
figure out what i am doing wrong.

regards,
Debarshi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121025/de3553bc/attachment.html>
Peter Saint-Andre
2012-10-25 06:08:05 UTC
Permalink
Post by debarshi kumar banerjee
Hi Herbert,
Thanks a lot for sharing your jabber.xml with me. I need another help. I
have since then uninstalled the jabberd and downloaded jabber14 1.6.1.1
from the website and tried to build it from source instead of installing
from rpm. Now according to the requirements I installed gnu pth 2.0.7
but when i run make after running ./configure/ /it says i get No targets
specified and no makefile found./ /I read the docs inside out i cannot
figure out what i am doing wrong.
Are you wedded to jabberd? Have you considered running an XMPP server
that's easier to install, like Openfire or Prosody?

Peter
--
Peter Saint-Andre
https://stpeter.im/
debarshi kumar banerjee
2012-10-25 08:00:28 UTC
Permalink
Hi Peter,

I do not know why but I have become obsessed with this. Please help me out
if you can. If i cannot i will switch over to Openfire.

Anyway i have been able to configure there were one lib missing, my bad, i
should have checked. Now when i am running 'make' i am getting this:
xmlnode.cc: In function 'xmlnode_list_item_t* xmlnode_get_tags(xmlnode_t*,
const char*, xht_struct*, pool_struct*)':
xmlnode.cc:913: error: invalid conversion from 'const char*' to 'char*'
xmlnode.cc:914: error: invalid conversion from 'const char*' to 'char*'
xmlnode.cc: In function 'xmlnode_t*
xmlnode_select_by_lang(xmlnode_list_item_t*, const char*)':
xmlnode.cc:1836: error: assignment of read-only location '* strchr(lang,
45)'

regards,
Debarshi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121025/7850001c/attachment.html>
Peter Saint-Andre
2012-10-26 14:45:52 UTC
Permalink
You are making life much harder for yourself than necessary. The code
you are trying to install is the original jabber server and it's
somewhat out of date, it was never truly easy to install, etc. I
really suggest installing a more modern server instead - Openfire
(although that has other issues), Prosody, ejabberd, etc.
Post by debarshi kumar banerjee
Hi Peter,
I do not know why but I have become obsessed with this. Please help
me out if you can. If i cannot i will switch over to Openfire.
Anyway i have been able to configure there were one lib missing, my
bad, i should have checked. Now when i am running 'make' i am
getting this: xmlnode.cc: In function 'xmlnode_list_item_t*
xmlnode_get_tags(xmlnode_t*, const char*, xht_struct*,
pool_struct*)': xmlnode.cc:913: error: invalid conversion from
'const char*' to 'char*' xmlnode.cc:914: error: invalid conversion
from 'const char*' to 'char*' xmlnode.cc: In function 'xmlnode_t*
xmlnode.cc:1836: error: assignment of read-only location '*
strchr(lang, 45)'
regards, Debarshi.
debarshi kumar banerjee
2012-10-25 06:04:34 UTC
Permalink
Hi Herbert,

Thanks a lot for sharing your jabber.xml with me. I need another help. I
have since then uninstalled the jabberd and downloaded jabber14 1.6.1.1
from the website and tried to build it from source instead of installing
from rpm. Now according to the requirements I installed gnu pth 2.0.7 but
when i run *make* after running *./configure *it says i get *No targets
specified and no makefile found. *I read the docs inside out i cannot
figure out what i am doing wrong.

regards.
Debarshi
Post by herbert langhans
Hi Debarshi,
there must be some file with the contents what I listed below. Possibly
with some xml-extension - but the extension may differ. Find it.
http://jabberd.org/1.4/doc/adminguide
- and at the end you find my /usr/pkg/etc/jabberd/jabber.xml
Where I had insert jabber.youhost.com you have to put your (registered)
domain in. If your website is http://yourhost.com you have to put in
jabber.youhost.com or whatever you invent instead of 'jabber'.
####### jabber.xml (from a NetBSD server) follows ########
<jabber>
<!--
This is the Jabber server configuration file. The file is
broken into different sections based on the services being
managed by jabberd, the server daemon. Most of the important
sections have comments and are easy to modify. You can find
full instructions in the server howto, which is available at
http://docs.jabber.org/. Note that when you see a tag like
"jabberd:cmdline", it's automatically replaced on startup
with the command line flag passed in to jabberd. This enables
you to override parameters set in this configuration file if
necessary or desired. Also note as you comment things in and
out that jabberd does not like comments within comments, so
be careful with your XML. :)
-->
<!--
The following <service/> section is for the session manager,
the most important component within the server. This section
* the server's hostname
* other basic server information
* the location of the session log file
* email addresses for server administrators
* the location of the server that provides update information
* registration instructions for new users
* a welcome message for new users
* a list of agents with which users can register
* load rules for the modules within the session manager
-->
<service id="sessions">
<!--
Change hostname below to something other than "localhost",
i.e., to the hostname or IP address of your Jabber server.
Multiple <host/> entries are allowed - each one is for a
separate virtual server. Note that each host entry must
be on one line, the server doesn't like it otherwise! :)
-->
<!--
<host><jabberd:cmdline flag="h">localhost</jabberd:cmdline></host>
-->
<host><jabberd:cmdline flag="h">jabber.yourhost.com
</jabberd:cmdline></host>
<!--
This is the custom configuration section for the
Jabber session manager, a.k.a. "JSM".
-->
<jsm xmlns="jabber:config:jsm">
<!--
The <filter/> section below determines settings
for mod_filter, a server-side module built into
JSM that enables users to set delivery rules for
messages they receive (not yet supported by all
clients. The <allow/> subsection specifies which
conditions and actions to enable. High-level
descriptions of each setting can be found below
* <default/> - a user cannot delete this one, it's
the default rule for delivering messages
* <max_size/> - the maximum number of rules in a
user's rule set (we don't want to overdo it!)
* conditions...
* <ns/> - matches the query xmlns attrib on an iq packet
* <unavailable/> - matches when user is unavailable
* <from/> - matches the sender of the message
* <resource/> - matches the receiver's resource
* <subject/> - matches the subject of the message
* <body/> - matches the body of the message
* <show/> - matches the show tag on the receiver's presence
* <type/> - matches the type of the message
* <roster/> - matches if the sender is in your roster
* <group/> - matches if the sender is in the specified group
* actions...
* <error/> - replies with an error
* <offline/> - stores the messages offline
* <forward/> - forwards the message to another jid
* <reply/> - sends a reply to the sender of the message
* <continue/> - continues processing of the rules
* <settype/> - changes the type of the message
-->
<filter>
<default/>
<max_size>100</max_size>
<allow>
<conditions>
<ns/> <!-- Matches if the iq's xmlns is the
same as the specified namespace -->
<unavailable/> <!-- Flag that matches when the reciever
is unavailable (offline) -->
<from/> <!-- Matches if the sender's jid is the specified jid -->
<resource/> <!-- Matches if the sender's resource
(anything after the / in a jid) is the specified resource -->
<subject/> <!-- Matches if the message's subject is
the specified subject (no regex yet) -->
<body/> <!-- Matches if the message body is the
specified body (no regex yet) -->
<show/> <!-- Matches if the receiver's presence
has a show tag that is the same as the specified text -->
<type/> <!-- Matches if the type of the message
is the same as the specified text ("normal" is okay) -->
<roster/> <!-- Flag that matches when the sender is
in the receiver's roster -->
<group/> <!-- Matches when the sender is in the specified group -->
</conditions>
<actions>
<error/> <!-- Sends back an error message to the
sender, with the specified text -->
<offline/> <!-- Flag that stores the message offline -->
<forward/> <!-- forwards the message to the specified jid -->
<reply/> <!-- Sends back a reply to the sender
with the specified text in the body -->
<continue/> <!-- Flag that continues rule matching,
after a rule matches -->
<settype/> <!-- Changes the type of message to the
specified type, before delivery to the receiver -->
</actions>
</allow>
</filter>
<!-- The server vCard -->
<vCard>
<FN>Jabber Server</FN>
<DESC>A Jabber Server!</DESC>
<URL>http://jabber.yourhost.com/</URL>
</vCard>
<!--
Registration instructions and required fields. The
notify attribute will send the server administrator(s)
a message after each valid registration if it is set
to "yes".
-->
<register notify="yes">
<instructions>Choose a username and password to register with this
server.</instructions>
<name/>
<email/>
</register>
<!--
A welcome note that is sent to every new user who registers
with your server. Comment it out to disable this function.
-->
<welcome>
<subject>Welcome!</subject>
<body>Welcome to the Jabber server at http://jabber.youhost.com-- we hope you enjoy this service! For information about how to use Jabber,
visit the Jabber User's Guide at http://jabber.org/</body>
</welcome>
<!--
IDs with admin access - these people will receive admin
messages (any message to="yourhostname" is an admin
message). These addresses must be local ids, they cannot
be remote addresses.
Note that they can also send announcements to all
users of the server, or to all online users. To use
the announcement feature, you need to send raw xml and be
logged in as one of the admin users. Here is the syntax
<message to="yourhostname/announce/online">
<body>announcement here</body>
</message>
<message to="yourhostname/announce/motd">
<body>message (of the day) that is sent only once to all users
that are logged in and additionally to new ones as they log in</body>
</message>
Sending to /announce/motd/delete will remove any existing
motd, and to /announce/motd/update will only update the motd
without re-announcing to all logged in users.
The <reply> will be the message that is automatically
sent in response to any admin messages.
-->
<!--
<admin>
<read>support at localhost</read>
<write>admin at localhost</write>
<reply>
<subject>Auto Reply</subject>
<body>This is a special administrative address. Your message
was received and forwarded to server administrators.</body>
</reply>
</admin>
-->
<!--
This is the resource that checks for updated versions
of the Jabber server software. Note that you don't lose
any functionality if you comment this out. Removing the
<update/> config is especially a good strategy if your
server is behind a firewall. If you want to use this
feature, change 'localhost' to the hostname or IP address
of your server, making sure that it is the same as your
entry for <host/> above.
-->
<!--
<update><jabberd:cmdline
flag="h">localhost</jabberd:cmdline></update>
-->
<!--
This enables the server to automatically update the
user directory when a vcard is edited. The update is
only sent to the first listed jud service below. It is
safe to remove this flag if you do not want any users
automatically added to the directory.
-->
<vcard2jud/>
<!--
The <browse/> section identifies the transports and other
services that are available from this server. Note that each
entity identified here must exist elsewhere or be further
defined in its own <service/> section below. These services
will appear in the user interface of Jabber clients that
connect to your server.
-->
<browse>
<!--
This is the default agent for the master Jabber User
Directory, a.k.a. "JUD", which is located at jabber.org.
You can add separate <service/> sections for additional
directories, e.g., one for a company intranet.
-->
<!--
<service type="jud" jid="users.jabber.org" name="Jabber User Directory">
<ns>jabber:iq:search</ns>
<ns>jabber:iq:register</ns>
</service>
-->
<!--
The following services are examples only, you will need to
create/modify them to get them working on your Jabber
server. See the README files for each service and/or the
server howto for further information/instructions.
-->
<!-- we're commenting these out, of course :)
<conference type="private" jid="conference.localhost"
name="Private Conferencing"/>
<service type="aim" jid="aim.localhost" name="AIM Transport">
<ns>jabber:iq:gateway</ns>
<ns>jabber:iq:register</ns>
</service>
<service type="yahoo" jid="yahoo.localhost" name="Yahoo! Transport">
<ns>jabber:iq:gateway</ns>
<ns>jabber:iq:register</ns>
</service>
end of <service/> examples -->
</browse>
</jsm>
<!--
The following section dynamically loads the individual
modules that make up the session manager. Remove or
comment out modules to disable them. Note that the order
of modules is important, since packets are delivered
based on the following order!!
-->
<load main="jsm">
<jsm>/usr/pkg/lib/jabberd/jsm.so</jsm>
<mod_echo>/usr/pkg/lib/jabberd/jsm.so</mod_echo>
<mod_roster>/usr/pkg/lib/jabberd/jsm.so</mod_roster>
<mod_time>/usr/pkg/lib/jabberd/jsm.so</mod_time>
<mod_vcard>/usr/pkg/lib/jabberd/jsm.so</mod_vcard>
<mod_last>/usr/pkg/lib/jabberd/jsm.so</mod_last>
<mod_version>/usr/pkg/lib/jabberd/jsm.so</mod_version>
<mod_announce>/usr/pkg/lib/jabberd/jsm.so</mod_announce>
<mod_agents>/usr/pkg/lib/jabberd/jsm.so</mod_agents>
<mod_browse>/usr/pkg/lib/jabberd/jsm.so</mod_browse>
<mod_admin>/usr/pkg/lib/jabberd/jsm.so</mod_admin>
<mod_filter>/usr/pkg/lib/jabberd/jsm.so</mod_filter>
<mod_offline>/usr/pkg/lib/jabberd/jsm.so</mod_offline>
<mod_presence>/usr/pkg/lib/jabberd/jsm.so</mod_presence>
<mod_auth_plain>/usr/pkg/lib/jabberd/jsm.so</mod_auth_plain>
<mod_auth_digest>/usr/pkg/lib/jabberd/jsm.so</mod_auth_digest>
<mod_auth_0k>/usr/pkg/lib/jabberd/jsm.so</mod_auth_0k>
<mod_log>/usr/pkg/lib/jabberd/jsm.so</mod_log>
<mod_register>/usr/pkg/lib/jabberd/jsm.so</mod_register>
<mod_xml>/usr/pkg/lib/jabberd/jsm.so</mod_xml>
</load>
</service>
<!-- OK, we've finished defining the Jabber Session Manager. -->
<!-- The <xdb/> component handles all data storage, using the filesystem. -->
<xdb id="xdb">
<host/>
<load>
<xdb_file>/usr/pkg/lib/jabberd/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
<spool><jabberd:cmdline
flag='s'>/var/spool/jabberd</jabberd:cmdline></spool>
</xdb_file>
</xdb>
<!--
The following service manages incoming client socket connections.
* authtime - default is unlimited, but you can set this to
limit the amount of time allowed for authentication to be
completed, e.g., <authtime>10</authtime> for 10 seconds
* karma - this is an input/output rate limiting system that
the Jabber team came up with to prevent bandwidth hogging.
For details about karma, read the io section at the bottom
and/or see docs.jabber.org. These are the low settings and
apply per connection/socket and can be changed as desired.
-->
<service id="c2s">
<load>
<pthsock_client>/usr/pkg/lib/jabberd/pthsock_client.so</pthsock_client>
</load>
<pthcsock xmlns='jabber:config:pth-csock'>
<authtime/>
<karma>
<init>10</init>
<max>10</max>
<inc>1</inc>
<dec>1</dec>
<penalty>-6</penalty>
<restore>10</restore>
</karma>
<!--
Use these to listen on particular addresses and/or ports.
<ip port="5222">127.0.0.1</ip>
-->
<ip port="5222"/>
<!--
The <ssl/> tag acts pretty much like the <ip/> tag,
except it defines that SSL is to be used on the
ports and IP addresses specified. You must specify
an IP address here, or the connections will fail.
<ssl port='5223'>127.0.0.1</ssl>
<ssl port='5224'>192.168.1.100</ssl>
-->
</pthcsock>
</service>
<!--
This is the default server error logging component,
which copies to a file and to STDERR.
-->
<log id='elogger'>
<host/>
<logtype/>
<format>%d: [%t] (%h): %s</format>
<file>/var/log/jabberd/error.log</file>
<stderr/>
</log>
<!--
This is the default server record logging component,
which logs general statistical/tracking data.
-->
<log id='rlogger'>
<host/>
<logtype>record</logtype>
<format>%d %h %s</format>
<file>/var/log/jabberd/record.log</file>
</log>
<!-- The following two services are for handling server-to-server traffic. -->
<!-- External asychronous DNS resolver -->
<service id="dnsrv">
<host/>
<load>
<dnsrv>/usr/pkg/lib/jabberd/dnsrv.so</dnsrv>
</load>
<dnsrv xmlns="jabber:config:dnsrv">
<resend service="_jabber._tcp">s2s</resend> <!-- for supporting SRV records -->
<resend>s2s</resend>
</dnsrv>
</service>
<!--
The following 's2s' config handles server connections and
dialback hostname verification. The <legacy/> element is
here to enable communication with old 1.0 servers. The
karma settings are a little higher here to handle the
higher traffic of server-to-server connections (read
the io section below for more details, medium settings).
-->
<service id="s2s">
<load>
<dialback>/usr/pkg/lib/jabberd/dialback.so</dialback>
</load>
<dialback xmlns='jabber:config:dialback'>
<legacy/>
<!-- Use these to listen on particular addresses and/or ports.
<ip port="7000"/>
<ip port="5269">127.0.0.1</ip>
-->
<ip port="5269"/>
<karma>
<init>50</init>
<max>50</max>
<inc>4</inc>
<dec>1</dec>
<penalty>-5</penalty>
<restore>50</restore>
</karma>
</dialback>
</service>
<!--
If you identified additional agents in the main <service/>
section (see examples above), you'll need to define each
of them here using a separate <service/> section for each
<agent/> you identified. Note that the <agent/> sections
determine what gets shown to clients that connect to your
server, whereas the following <service/> sections define
these services within the server itself. The following are
examples only, you will need to create/modify them to get
them working on your Jabber server. See the README files
for each agent and/or the server howto for further
information/instructions.
-->
<!-- we're commenting these out, of course :)
<service id="conference">
<load>
<groupchat>/path/to/groupchat.so</groupchat>
</load>
<host>conference.localhost</host>
</service>
<service id="irc">
<host>irc.localhost</host>
</service>
<service id="aim.localhost">
<accept>
<ip/>
<port>7009</port>
<secret>jabber-rocks</secret>
</accept>
</service>
<service id="yahoo.localhost">
<accept>
<ip/>
<port>9001</port>
<secret>jabber-rocks</secret>
</accept>
</service>
end of <service/> examples -->
<!--
The following <io/> config initializes the top-level
I/O, otherwise known as MIO (Managed Input/Output).
-->
<io>
<!-- Set the default karma for *all* sockets -->
* Avg. Throughput - The number of bytes you can
send every second without incuring any penalty.
* Burst Allowed - The maximum number of bytes you
can send in 2 seconds without incurring any penalty.
* Max Sustained Rate - If you send data as fast as
you can, you will hit penalty, and will not be
able to send for 10 seconds; the max sustained
rate is the average rate you can dump data when
you are dumping as much data as you can, as fast
as you can.
* Seconds to Recover from Burst - The amount of time
it will take to reach Avg. Throughput capability
after sending a max burst of data.
* Penalty Length - The length of your penalty is
abs(penalty) * Heartbeat seconds
E.g., a penalty of -5 and heartbeat of 2 will
cause your penalty length to be 10 seconds.
Note that a penalty CANNOT be less than -100,
otherwise strange things might happen.
-->
<!-- Example of Low Karma Limits
Avg. Throughput: 1k-2k/s
Burst Allowed To: 5.5k/s
Max Sustained Rate: 485b/s
Seconds to Recover from Burst: 20
Penalty Length: 12 seconds
<karma>
<heartbeat>2</heartbeat>
<init>10</init>
<max>10</max>
<inc>1</inc>
<dec>1</dec>
<penalty>-6</penalty>
<restore>10</restore>
</karma>
-->
<!-- Example of Medium Karma Limits
Avg. Throughput: 5k-10k/s
Burst Allowed: 125.5k/s
Max Sustained Rate: 12.6k/s
Seconds to Recover From Burst: 25
Penalty Length: 10 seconds
<karma>
<heartbeat>2</heartbeat>
<init>50</init>
<max>50</max>
<inc>4</inc>
<dec>1</dec>
<penalty>-5</penalty>
<restore>50</restore>
</karma>
-->
<!-- Example of High Karma Limits
Avg. Throughput: 5k-10k/s
Burst Allowed: 206k/s
Max Sustained Rate: 34.3k/s
Seconds to Recover from Burst: 21
Penalty Length: 6 seconds
<karma>
<heartbeat>2</heartbeat>
<init>64</init>
<max>64</max>
<inc>6</inc>
<dec>1</dec>
<penalty>-3</penalty>
<restore>64</restore>
</karma>
-->
<!--
Set rate limits to monitor the number of connection
attempts from a single IP, any more than [points]
within [time] will engage the limit. This setting
applies to all incoming connections to any service,
unless otherwise overridden by that service.
-->
<rate points="5" time="25"/>
<!--
The following section initializes SSL for top-level I/O.
This works only when the server is compiled with openssl!
-->
<!--
<ssl>
<key ip='192.168.1.1'>/path/to/cert_and_key.pem</key>
<key ip='192.168.1.100'>/path/to/other/cert_and_key.pem</key>
</ssl>
-->
<!--
The following section is used to allow or deny
communications from specified IP networks or
addressses. If there is no <allow/> section,
then *all* IPs will be allowed to connect. If
you allow one block, then only that block may
connect. Note that <allow/> is checked before
<deny/>, so if a specific address is allowed
but the network for that address is denied,
then that address will still be denied.
-->
<!--
<allow><ip>127.0.0.0</ip><mask>255.255.255.0</mask></allow>
<allow><ip>12.34.56.78</ip></allow>
<deny><ip>22.11.44.0</ip><mask>255.255.255.0</mask></deny>
-->
</io>
<!--
This specifies the file to store the pid of the process in.
<pidfile>/var/run/jabber.pid</pidfile>
<pidfile>/var/run/jabberd/jabber.pid</pidfile>
-->
</jabber>
############### end of jabber.xml ##################
_______________________________________________
JAdmin mailing list
Info: http://mail.jabber.org/mailman/listinfo/jadmin
Unsubscribe: JAdmin-unsubscribe at jabber.org
_______________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20121025/68a5a9da/attachment-0001.html>
Loading...