Re: [JDEV] Configuring server side component

2002-11-25 Thread DJ Adams
On Mon, Nov 25, 2002 at 11:57:48AM +0100, OUCHIA Mehdi FTRD/SVA/LAN wrote:
 Hello,
 
 I've got a problem with server side component configuration in jabber.xml.
 
 Indeed, i have a jabberd running on a first machine called MachineA and an 
accept component on another one called MachineB.
 In jabber.xml on MachineA, if i configure my component called ordermanager as 
follows : 
 
 service id=ordermanager.MachineA
   accept
   ipMachineB/ip
   port5999/port

One problem is here - this is saying to jabberd on MachineA please listen
on socket MachineB:5999 - it would be pretty amazing if that would work :-)

   secretsecret/secret
   /accept
 /service
 
 When i try to run the jabberd, i got the following error message : 
 
 ERROR: Base Handler Returned an Error:
 accept unable to listen on the configured ip and port

Because the IP address is wrong (see above)

 
 
 However, the 2 machines are on the same network. And when i put no information for 
the ip tag ( only ip/), then my component is correctly registered with the 
handshake. Unfortunately, the jabberd seems to be unable to redirect to this 
component message or iq packets coming from classic clients !!!
 

An empty ip/ tag just means that jabberd will listen on INADDR_ANY for 
connections coming in for port 5999. THis is fine. The routing problem 
you describe, is probably separate from this issue. What is the 'to' address
set to on the packets from the clients that don't make it to the component?

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] jabber extensions available for handling location information

2002-11-25 Thread DJ Adams
On Mon, Nov 25, 2002 at 11:47:20AM +0100, Arjan Peddemors wrote:

 The extended server handles location elements at the same level as
 the common data types message, presence, and iq; i.e. location

I may be missing something here (due to my 'time off' recently) so sorry
if I'm speaking out of turn ... but this seems slightly worrying - a new
top-level element? 

Does this relate to a current JEP? I can't see any that might fit...

Cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Two INstances of Jabberd on the same system

2002-11-23 Thread DJ Adams
On Fri, Nov 22, 2002 at 10:21:44PM -0800, SARADHI wrote:
 
 Hi,
 
 How to maintain two instances of jabberd1.4.2 on the same system.
 
 I know we can install the same jabberd server at some other folder in the same 
system and use another port other than 5222 and give a different domain name when 
starting the Server.
 
 Is there any way that the same jabber server can be acted as two instances. For 
example, I need to use a server for my company internal purposes and other for 
external purposes and no relation between the users of this two different systems.
 

Sure. You can run 'virtual Jabber servers' within the same jabberd 'instance'
listening on 5222. Basically, use more than one 'jsm' section in your single
server config. There are details on doing this sort of stuff in Programming
Jabber (chapter 4) :-)

Cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Writing presence-enabled agents/components

2002-11-20 Thread DJ Adams
On Mon, Nov 18, 2002 at 02:20:40PM -0500, Ralph Siemsen wrote:
 The only way around this seems to be to have the agent permanently store 
 the JIDs of all users who have subscribed the agent.  Then upon connect 
 or disconnect, the agent has to explicitly send out presence events to 
 all those JIDs.
 
 Have I missed something obvious?  Is the intention for agents to 
 explicitly store their subscriber lists (on disk)?  Or is there a way to 
 make use of the existing code in jabberd but applied to an agent?

The essential difference here is that clients connect (via the client
concentrator) and use the services of the JSM, and components just 
connect to the jabberd backbone. A component is a peer, so to speak,
of the JSM. 

The JSM contains a presence module that handles what you're describing,
so clients enjoy the benefit of that module's service. A component, on
the other hand doesn't, so the short answer is yes, the component must
do the work of the JSM presence module that it wants doing.

DJ
floating in and out of online-ness
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Writing presence-enabled agents/components

2002-11-20 Thread DJ Adams
On Tue, Nov 19, 2002 at 08:37:15AM -0500, Ralph Siemsen wrote:
 Ralph Siemsen wrote:
 I'm having some difficulties writing an external jabber component(agent) 
 to behave correctly with regards to presence - eg. I want users to be 
 able to subscribe my agent and see its presence, and vice versa.
 
 Replying to myself here... I have of course looked at DJs nice example 
 in his Programming Jabber book... the cvsmsg-s script does exactly 
 what I want.  But it is implemented as a mortal user, not an external 

(further to my previous reply) - yes, this 'does it' but only indirectly,
in that it's a client and so can automatically partake of the JSM's 
presence services.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Problem transporting SOAP over Jabber using SOAP::Lite Perl module

2002-07-18 Thread DJ Adams

On Wed, Jul 17, 2002 at 02:49:54PM -0400, Keith Downs wrote:
 I am trying to use SOAP::Lite version 0.55 with Net::Jabber version 1.26.
 Apparently these version are not compatible, as a method called AddDelegate
 is called in the SOAP::Lite implementation to delegate the
 Net::Jabber::Query module with the SOAP::Transport::JABBER::Query module.
 Apparently this method has been removed in more recent version of
 Net::Jabber.  Has anyone encountered this and figured out how to work around
 it?

I emailed Paul K about this quite a while ago, and mentioned that I'd
hacked together support based on the discussions of SOAP-over-Jabber we
had last year on the rpc-jig. It was based on Jabber::Connection, though,
and I'm not sure if I can find it now. I'll have a search around. Basically,
though, yes, the SOAP::Lite use of Net::Jabber is written to a different
tune (namely the discontinued Delegate model).

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Q: Conferencing features

2002-07-18 Thread DJ Adams

On Thu, Jul 18, 2002 at 12:11:04PM +0200, Andreas Ames wrote:
 Hi,
 
 I've got two questions:
 
 1) Is it possible for the same user to connect several times to the
same conference room from different resources (with different
nicks).

Yes

 
 2) Is there a IRC-similar 'voice'-feature with conference rooms?

No. Not in the current incarnation(s) of the groupchat/conference
protocols.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Autoupdate

2002-07-16 Thread DJ Adams

On Tue, Jul 16, 2002 at 09:39:05AM -0600, Ben Schumacher wrote:
 It relies on S2S. The current autoupdate protocol (which could be cleaned
 up a little) is designed so that clients send a presence packet with the
 following format:
   presence to=[EMAIL PROTECTED]/0.1.2.3/
 
 Where '1251235123' is a unique identifier, '0.1.2.3' is the current
 version number, and update.jabber.org is (of course) the target host. If

FWIW, there's some more background here:

http://www.pipetree.com/jabber/update.html

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] dynamic/ config tag (in search of portable C lib)

2002-07-09 Thread DJ Adams

On Tue, Jul 09, 2002 at 01:12:25PM +0200, Andreas Ames wrote:
 Hi,
 
 while wading through the 1.4.2 sources to figure out how to use
 libjabber (which is the only C lib for jabber I found that seems to be
 complete and somewhat portable; any other recommendations are
 welcome), I came across the dynamic/ config tag in base_dynamic.c.
 So far I have no clue how to use it and what it's for (I assume I can
 influence the delivery process/message routing with dynamic handlers;
 but I may be completely wrong).  Unfortunately I'm very curious.
 Neither google nor DJ Adams' book were my friends here.  Can someone
 help me out, please?

Hi Andreas

If I remember correctly, it's something that Jer put together during 1.4.1
but remained experimental. (Programming Jabber was based more or less on 
1.4.1 but as I had to prune the contents, experimental stuff was always
first on the cuttingroom floor :-). It's basically a way of being able to
plug handlers into a running jabberd. I think it's defined per-component,
so you'd have something like:

service id='dynamicstuff'
  hostblah/host
  dynamic
definition of dynamic files here
  /dynamic
/service

The files (all in the same directory) are .so loadable, I think, and
have to confirm to the jabberd API. 

HTH a bit
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Etherx

2002-07-09 Thread DJ Adams

On Mon, Jul 08, 2002 at 02:25:55PM -0600, Sean Kirkby wrote:
 What is the uplink/ technique?

It serves as a packet magnet when you plug in another jabberd into
your existing jabberd, so that all packet types (service, xdb, log)
get pulled through the connection. 

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Getting subscrition requests

2002-06-27 Thread DJ Adams

On Thu, Jun 27, 2002 at 06:10:32AM +, Matthias Wimmer wrote:
 Hi DJ!
 
 I thought the 'kick' would be when I send my presence/ because then 
 the server starts to send me the presences of other users and 
 subscription requests are send as presences too.

It's a fair thought, but there are two kicks. 

MfG
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Getting subscrition requests

2002-06-26 Thread DJ Adams

On Wed, Jun 26, 2002 at 08:48:39PM +, Matthias Wimmer wrote:
 Hi!
 
 Is it correct, that I only get subscription requests as a user when I 
 requested the roster before? It's no problem, just that I searched the 
 whole day for the problem why I don't get the subscription requests in 
 my script ;)

Yes, that's correct. The pending requests (while you're offline)
are stored in the roster in some hidden attributes. Sending an
IQ-get for iq:roster is the 'kick' that the JSM waits for before
sending you any pending requests.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Getting subscrition requests

2002-06-26 Thread DJ Adams

On Wed, Jun 26, 2002 at 04:01:01PM -0600, Sean Kirkby wrote:
 Is that behavior specific to the reference jabberd server (or it's
 xdb_file module), or is it part of the spec?

Well it's always difficult to separate the two with many projects like
this, because the egg came before the chicken, so to speak. That's one
of the reasons for some of informative JEPs. 

 If one wanted to store the roster data in an LDAP directory, do any
 provisions need to be made to ensure that the subscribe='' and hidden=''
  attributes are stored with roster items that have a subscription type
 of none, but haven't been accepted or declined for a specific
 request?

Well, it's not my place to dictate how things should be written; it really
all depends on what's necessary to emulate what jabberd, which in lots of
cases serves as the 'working copy' of the spec, does. 
  
 Would it be better to simply create a new subscription type called
 pending?  I.E. if someone sends me a subscription request, they are
 added to my roster like this:
  
 item [EMAIL PROTECTED] subscription=pending

While 'hidden' attributes are sometimes less desirable than in-your-face
non-shy tags, I think the decision as to whether it would be better is
unavoidably linked to how far down the line we are now. 

Wooly replies, I know, but things like this are never clear cut (to me)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Questions about jabber:x:events

2002-06-26 Thread DJ Adams

On Wed, Jun 26, 2002 at 05:22:33PM -0600, Sean Kirkby wrote:
 Hello,
  
 I have a few questions I'm hoping someone can help with:
  
 1) Is the id attribute of a message/ packet a required attribute?

Not in Jabber. 

 2) If not, and a client receives a message/ packet with a x
 xmlns=jabber:x:eventscomposing//x request in it, how shoudl the
 client handle the request?  It will not have a message ID to put in the

That's a good question. Basically, it can handle it, but it will be
ineffectual, of course, as you describe below. There's nothing the
responder can do other than send the event (when appropriate) with an
empty id/ tag. 
  
 3) Is the composing event the only event that really supports the
 notion of canceling the event?  In other words, does it ever make

With x:event, yes. 

 sense to try to cancel any of the other three events?  Rather than
 canceling a composing event, wouldn't it make more sense to make it
 two different events?  After all, if a user starts composing, and an
 event notification is sent, it really doesn't make sense to try to say
 oops... actually, the user never really started composing... so cancel

Well, I guess it's a subjective decision. If I start typing something, then
for example, I close my compose window, that (for me) would be an appropriate
situation to send a cancel.

 that.  Rather, it would make more sense to have a composing_start
 event and a composing_stop event.  Am I off base here?

Not at all. It's not off base to query things. Good questions are always
welcome.

 4) If canceling an event applies to more than the composing event
 (perhaps to future events not yet supported), does the current scheme
 for canceling events allow for this easily?  As far as I can tell, the
 event cancellation doesn't really identify an event to cancel.  Is the
 event cancelation supposed to apply only to the most recently received
 event, or is it only supposed to apply to composing events?

This is the most significant disadvantage of the x:event namespace. The
JEP (0022) was deliberately written to reflect the as-is situation. There
was some debate on this subject while it was being written, but I think
the general concensus was that any new features should be discussed
separately, and probably in a new namespace. 

HTH
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] theoretic-smtp, Ransom License, Jabber and GPL incompatibility

2002-06-25 Thread DJ Adams

On Tue, Jun 25, 2002 at 08:22:35AM -0700, James Michael DuPont wrote:
 
 Quit your license whining. 
 Fine, I wont bother you anymore with it.
 I just was looking for some XMLRPC over Jabber or over SMTP stuff and
 found his code days ago and had written to him about the license. 

There's some XMLRPC over Jabber code on CPAN - module Jabber::RPC

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Command Line Interface

2002-06-13 Thread DJ Adams

On Wed, Jun 12, 2002 at 10:39:59AM -0400, Bob  Bingham wrote:
 Is it possible to send a message to a online user via command line?  For
 example
 #echo This is the message | sendito jabber.mylocalserver.com
 This would be sent from another (unix) system on the LAN.  It could also be
 a script on this other system rather than command line.  It would also be a
 one-way conversation with no reply expected, jsut a pop up message.

Sure. Just write a simple script to do this - shouldn't be much work.
FWIW, I wrote a 'wall' style script[1] a while ago; a bit out of date but
you might get a picture from it.

Cheers
dj

[1] http://www.pipetree.com/jabber/jann.html
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Security and debug

2002-06-13 Thread DJ Adams

On Thu, Jun 13, 2002 at 11:10:38AM -0500, Ed Giesen wrote:
 I have been getting a jabberd working with ssl.  During my playing around, I
 noticed that when jabberd is invoked with -D, and clients are using ssl, the
 debug output still prints out messages, decrypted.
 
 I was wondering if this situation has been discussed at all.  I know that
 some information is needed when debugging, even in a secure site, but, is
 chat content ever needed?

I'm sure there will be lots of different opinions about this; here's
mine (keeping in mind that these are answers to your / my (imaginary)
colleagues):

- SSL is to protect the data in transit, not on the server itself
- it's not just chat messages that go through and need to be debugged
  it's other traffic too (Jabber isn't just IM ;-)
- production servers shouldn't be run with -D
- correspondents have the option of encrypting their messages, independent
  of whether the conduit itself is encrypted - see jabber:x:encrypted
- it's not just the -D log that shows chat messages in 'plain' view; what
  about messages that are stored in the event of the recipients' absence?
  (this one's a double-edged sword :-)

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Recognizing cached messages

2002-06-13 Thread DJ Adams

On Mon, Jun 10, 2002 at 12:24:22PM +0200, Andreas Ames wrote:
 Are all cached messages tagged with a x/ in the 'jabber:x:delay'
 namespace?  If so, I could use this as a trigger to ignore those
 messages, meaning that my producer couldn't use this namespace in its
 events.  Are there any useful applications of this namespace within in

Yes. In jabberd, the JSM module mod_offline attaches such a tag.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber vs. Jabber::Connection?

2002-06-02 Thread DJ Adams

On Sun, Jun 02, 2002 at 12:40:55AM -0600, Nicholas Perez wrote:
 But alas both have flaws too. After while you get tired of 
 typing/cutting/pasting, all of those methods with J::C to accomplish the 
 simple things that N::J does in one method. As for N::J Everything is an 

That's why I like Perl - it's got things like subroutines, require, use,
and modules for building your own frequently used routines ;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber vs. Jabber::Connection?

2002-06-02 Thread DJ Adams

On Sun, Jun 02, 2002 at 11:09:25AM -0500, Ryan Eatmon wrote:
 
 Uh I think you're wrong on that...

Err, nope. But thanks for quoting the can_read() docu at me :-)
As I said, if you don't pass a value to process() it assumes 0. 
Passing 0 to can_read isn't the same as passing nothing. 

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber vs. Jabber::Connection?

2002-06-02 Thread DJ Adams

On Sun, Jun 02, 2002 at 01:12:42PM -0400, Dave wrote:
 If I understood Ryan correctly, he was simply stating that J::C's
 process() doesn't follow the lead of the PERL IO package, while N::J's
 process() does.

Yeah, just chatting with Ryan now ;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber vs. Jabber::Connection?

2002-06-01 Thread DJ Adams

On Sat, Jun 01, 2002 at 04:10:51PM -0500, Ryan Eatmon wrote:
 
 You could try Process(0) to wait 0 seconds (ie. exit immediatly).  As 
 for being odd that Process() blocks, this is the same behavior as many 
 other Perl modules (IO:Select comes to mind first).  I would argue that 
 Jabber::Connection is the odd man out.

Why?

J::C's process() uses IO::Select (specifically the can_read() function).
The behaviour is the same - it blocks for up to X seconds waiting for
something to be available. Calling process() (i.e. with no explicit
value) just makes the function assume 0 seconds.
 
 As for the differences between the two.  DJ wrote Jabber::XX as an 
 exercise and is slowly adding more to it.  Net::Jabber is meant to be a 
 100% protocol compatible and high level implementation (in other words 
 GetFrom() is high level as it hides the guts from you).
  
It did start out as an excercise but turned out to be the module I was
looking for too ;-) It's different to N::J in that it's a lowlevel
lightweight approach. Rather than include high-level functions like
GetFrom(), it allows you to build your own (the equivalent here is 
attr('from')) using the NodeFactory module which was loosely aimed to
reflect the API of the xmlnode library in the open source Jabber server.
It gives you the flexibility to manipulate the nodes of the Jabber XML
protocol as you see fit.

The examples you see on some of my web pages are with N::J as that was
what I was using at the time. 

Although I've seen examples of people using both J::C and N::J together,
it's usually the case that people will find one or the other that they
feel comfortable with (bottom-up vs top-down approaches). 

Cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] DoS on server component

2002-05-16 Thread DJ Adams

On Wed, May 15, 2002 at 06:16:45PM -0400, Federico Lucifredi wrote:
 Hello All,
 While I was typing one of countless telnet probes on a server component
 I am trying to develop, I casually managed to DOS my own server... in a
 quite unexpected way.

...

 My code is modeled after DJ Adams example of an RSS news agent, and for
 the purpose of this discussion, I'll use his:

Uh-oh ;-)

 Now, in my sleepyness, I did put in the query
 
 iq id='browse'
 to='rss.jabber.endorfine.org'
 from='[EMAIL PROTECTED]'
 type='get'
   query xmlns='jabber:iq:browse'/
 /iq
 
 Apparently the unnecessay from attribute confuses the toFrom() function, and
 the result is that the message keeps being fed to the component by the
 server -

Hmm, this seems a little odd, especially when one considers that the JSM will
whack on the 'correct' from attribute before it reaches the component. Do you
have any log of the packets as the loop starts?

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] LOGS

2002-05-11 Thread DJ Adams

On Thu, May 02, 2002 at 12:43:47PM -, tom  drake wrote:
 Hi All,
 
 Is there any way i can keep a log of the message that I'm sending 
 through my client. Jabber maintains only the record.log (login and 
 logout) and the error.log. I would like to keep track of the 
 number of message that I'm sending to jabber from my client, so is 
 there anyway of doing this. I wanted to know what this Jabber 
 chatbot  is all about.

You may be interested in the Server Module Updates section of
http://jabberd.jabberstudio.org/1.4/142changelog.html

cheers
dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] s2s Protocol?

2002-05-05 Thread DJ Adams

On Sat, May 04, 2002 at 10:35:24PM -0700, Mike Mintz wrote:
 Where can I find information on the s2s protocol?

I wrote up a sort of reference here:

http://www.pipetree.com/jabber/jdp/c53.htm

hth

DJ
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] register namespace mandatory ?

2002-04-29 Thread DJ Adams

On Mon, Apr 29, 2002 at 09:14:40AM -0400, Dave wrote:
 I don't believe handling the register nemespace is mandatory.
 Can somebody back me up on this?

Handling _any_ namespace isn't mandatory, unless it's necessary. 

Handling a namespace _correctly_ is 'mandatory'.

IMHO

philosophically
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Multiple elements within IQs

2002-04-18 Thread DJ Adams

On Tue, Apr 16, 2002 at 09:51:05PM -0600, David Waite wrote:
 says that is legal :-) It also says that having a query and an error is 
 illegal, which the server already does.

I'd say that was a 'bug' in the draft :-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber and oob

2002-03-22 Thread DJ Adams

On Fri, Mar 22, 2002 at 08:10:23PM +0100, Rico -mc- Gloeckner wrote:
 Now, i thought, its an x Namespace, so it would be appropriate to get the
 whole jabber:x:oob Entitity via:
 my @mxspace = $message-GetX() || ;
 I expected any Ref to handle the OOB Data, but all i got was a simple
 1. Since iam still a bit of unexperienced in advanced Perl Techniques
 i tried to change the Context, i.e. to Scalar, Array and Hash, but none
 seemed to work. Also trying to directly access the $message Object with
 Methods which are valid for jabber:x:oob Objects failed, ofcourse.
 

Hi

after the above line, all you need is something like this:

$mxspace[0]-GetURL()

and

$mxspace[0]-GetDesc()

to access the two bits of info carried in the x:oob extension

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Perl Headline Delivery script Error?

2002-03-16 Thread DJ Adams

On Sat, Mar 16, 2002 at 02:46:43AM +0530, Gunjan Kakani wrote:
 Hi,
 
 I was experimenting with the Perl Headline Delivery script written by DJ Adams, from 
Fun with Jabber articles.
 
 But the script when executed gives error as following...
 
 Can't use string(3C924DDA) as a HASH ref while strict refs in use at 
/usr/lib/perl5/./Jabber.pm line 588.
 
 I checked with the changes made in the Net::Jabber module since this script was 
written, but those changes could not solve this problem, since this problem occures 
in sending the presence at $Connection-PresenceSend() method. If I uncomment this 
method and produce the log, its working perfect, just that is is not sending messages 
to subscribers, since they dont know the presence of the headline deliverer.
 

Hello Gunjan

This is a well-known (well, I thought so :-) problem due to how Net::Jabber
has changed over the course of releases (for the better, of course).
The significant release change was, as Piers has already correctly pointed
out (thanks dude :-), from 1.0020 to 1.0021, where a new value is passed
first to all callbacks.

I wrote an article last year [1] which explains what's going on - please
let know if you have any questions about it.

Just now, to test, I downloaded the headline script from the article's
page [2], made the (one-word) change as described in the article, and it
solved the problem.  

Cheers
dj

[1] http://www.pipetree.com/jabber/nj10021.html
[2] http://www.pipetree.com/jabber/headlines.html

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Perl Headline Delivery script Error?

2002-03-16 Thread DJ Adams

On Sat, Mar 16, 2002 at 12:10:39PM +, Stephen Allsopp wrote:
 On Fri, 15 Mar 2002 14:36:31 -0700
 Nicholas Perez [EMAIL PROTECTED] wrote:
 
  You know you could talk directly with the developer who's code is in
  question instead of asking a large selection of people that might not
  have even looked at Net::Jabber :) Just a thought ;)
 
 Gunjan, I don't think it's the Net::Jabber code that's at fault here. What it sounds 
like is that you've given the Send the wrong type of argument. When I set up presence 
(this is based on examples from the book), I create a Net::Jabber::Presence object, 
fill it appropriately, and pass it to $connection-Send() (not PresenceSend). It 
works for me.
 

It's a 'wrong type of argument' problem, but not with Send(); in this case
it's with the new() method of Net::Jabber::Presence() - called in the
handle_presence() callback in the script. As Piers, and the nj10021.html
article, has already mentioned, what is happening is that Net::Jabber is
now sending two values to the callbacks - the first being a session ID,
the second being the one that we really want to pass to the new() method.
Pre-1.0021, it just sent the latter value.

 Also, be aware of a few things in Programming Jabber: for one, it's got *lots* of 
typos and errata. I haven't found anything yet that affects me in the code examples, 
but there is always the possibility that something has gone amiss. I suggest you 
check the Errata page for the book on the O'Reilly website. Also, as you have already 
pointed out, the Net::Jabber libs are a moving target, as is Jabber itself, to some 
extent. 
 

Stephen - I try to check the Errata page regularly, but please don't
hesitate to bug me by email ([EMAIL PROTECTED]) with anything you find
and want to ask about or thwap me over the head about :-)

Cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] module development

2002-03-14 Thread DJ Adams

On Wed, Mar 13, 2002 at 08:02:29AM -0500, Glenn MacGregor wrote:
 
 For that job you need to use a jsm module, which is build into jsm.so.
 Depending on where you place your load configuration, you can receive every
 packet going through the server.

Well, that's not entirely true :-)

If comp1.localhost sends a message to comp2.localhost, it goes directly
there, does not pass through the JSM, does not collect 200 pounds. 

In the general scheme of things, although the JSM is a significant 
part of many a typical Jabber, it is, at the end of the day, just
another component. The backbone will deliver a chunk according to 
who it's addressed to - the JSM has an address just as much as the
comp2.localhost component (in the above example) does. 

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] vCard DTD?

2002-03-14 Thread DJ Adams

On Thu, Mar 14, 2002 at 04:42:40PM -0500, Julian Missig wrote:
 Note that vcard-temp is version 2.0, not 3.0. That is one of the worst
 self-perpetuating typo I've ever seen ;) (DJ's book even says 3.0. Ugh.)

:-/ Sorry

It's changed now for the next print run

Thanks Julian for pointing it out earlier
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] JECL README

2002-03-12 Thread DJ Adams

On Tue, Mar 12, 2002 at 01:26:54PM -0600, Peter Saint-Andre wrote:
 FYI, I've put together the beginnings of a README for JECL. It's in CVS
 here:
 
 http://www.jabberstudio.org/cgi-bin/viewcvs.cgi/jecl/

Hey, nice work. 

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] On Privacy/Invisibility (aka: Buddy Permit/Deny)

2002-03-11 Thread DJ Adams

On Mon, Mar 11, 2002 at 08:46:28AM -0500, Jim Seymour wrote:
 Lastly, in any event, it seems to me the client code will have to know
 what version of the server it's dealing with so it can know what is
 supported and what is not.  (E.g.: 1.4.1 won't support invisible,
 1.4.2 does.)  Is there a way to fetch the server's release level?

Sending a query like this

iq type='get' to='jabber.org'
  query xmlns='jabber:iq:version'/
/iq

will get you the version. Of the server. Well, of the JSM, which is
what you want.[1]

cheers
dj

[1]hendiadys is alive and well ;-)
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Help needed - PLEASE!

2002-03-11 Thread DJ Adams

On Mon, Mar 11, 2002 at 11:54:16AM -0500, Vernon wrote:
 I have posted repeatedly to the conference room and it seems as if either 
 no one knows the answer or no one wants to respond (hope I didn't over 
 extend my welcome). In any event I cannot seem to get the conference 
 rooms to work any where but internally. 
 
 When I try to get to conference.jabber.org I cannot. Nor can I use the 
 find option, all of which returns a 502 error message, Server not found, 
 which doesn't make any sense to me since I can telnet from the box to 
 that server, I can also telnet externally into the box through port 5269, 
 the jabber.xml is fine as I use in on another box that I setup and it 
 works there. I also get the same error message when I try to use the MSN 
 or icq transports.
 
 Any ideas would be greatly appreciated as I have now been working on this 
 same problem for nearly a week.

Ok, I may have missed some questions/answers on this already, so sorry
if this is repeat stuff...

Are you trying to get to conferencing.jabber.org from a client connected
to jabber.org or connected to your.own.server?

If the latter, can your server see / connect to any external Jabber
server/services?

If so, is it just a conference room join that's not happening, or
can't you do a (e.g.) version query on the conferencing component
either?

If you're connecting from your own server, are there any clues
in the debug logs?

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] 1.4 Services Daemon

2002-03-11 Thread DJ Adams

On Mon, Mar 11, 2002 at 06:00:59AM -0800, mj wrote:
 Can I write a service in java, and register that service in 1.4 (Linux).
 I would like to incorporate my XML-RPC and/or SOAP proxy into 
 the server. 
 
 Questions.. 
 1) Can I create custom namespace for the services.
 2) Are the messages passed over to the registered services or
are the tied internally to the sockets on the server?
 
 I guess I could rephrase this as:
 Does the 1.4 server support java plugin outside service.

Hi Michael

What I think you want to do is write a component, that plugs into
the jabberd server. The most common / flexible form of a component
is one that exists as a separate process and makes a socket connection
to the Jabber server. 

As far as getting the messages passed to the service, it's down
to how the messages are addressed. Each component has its own
address.

Btw, there's already some stuff for XML-RPC over Jabber (Jabber-RPC)
and SOAP, that you might want to look at (implemented in Perl)

Jabber::RPC 
SOAP::Lite

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Resources and Priorities Questions

2002-03-03 Thread DJ Adams

On Wed, Feb 27, 2002 at 12:35:42PM -0700, David Waite wrote:
 I'm not sure, but I thought priority ties were decided by whichever 
 changed presence last.

It's the most recent connection, as it's based on how the sessions
are managed (stored) for an active user. They're stored in a pushdown
stack, most recent on top (first), and the algorithm [1] that determines
the primary session for a user, for example, is written such that the
most recent session (i.e. connection) will win, as it gets retrieved
first and none of the other (older) sessions will beat it if they all
have the same prio.

[1] see js_session_primary() 

cheerio for now
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber server hostname and JIDs

2002-03-03 Thread DJ Adams

On Mon, Mar 04, 2002 at 06:07:01PM +1100, Robert Norris wrote:
   3. Hack JID rewriting stuff into the JSM, so that any to/from attributes
  get rewritten to what I want them to be.
  
  It already does this, in the pthcsock element in the c2s config just
  add:
  alias to=server.name/
  
  It's ugly, but it does all the magic to/from replacing so that things work
  just like you want :)  The above is the default one, you can also have
  multiple alias to=real.serverwhat.client.uses/alias in there.
 
 That's interesting to know. It's pretty disgusting (as most hacks of
 this type are), and it still has the problem that the client thinks its
 JID is one thing while the rest of the network knows it as something

Yes. This is the problem with alias/ - it wasn't very well known early
on in the stages of client development, so it wasn't implemented (AFAIK)
as widely as one would have liked. (I am just as guilty - sjabber was 
written before I knew much about the full server config options).

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber server redirection

2002-02-24 Thread DJ Adams

On Fri, Feb 22, 2002 at 03:33:49PM -0600, Dave Dykstra wrote:
 Also, that still doesn't completely solve the problem, as Thomas Parslow
 pointed out; I think it would also take a couple more client changes.  The
 c2s SRV record in the DNS could allow a client to automatically discover
 its server name, but there still needs to be a way to tell the client that
 that server is an alias for company.com.  Exchange Instant Messenger

Would the alias/ config tag help here? Perhaps it would; although 
I'm not sure that it's widely supported right now...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Conferencing WOES

2002-02-24 Thread DJ Adams

On Fri, Feb 22, 2002 at 06:37:36PM -0500, Vernon wrote:
 I am trying to setup Jabber on our servers and have had some success, but 
 also some problems. 
 
 I have conferencing installed and did a make on the conference.so, which 
 does exist. I've set things up exactly as said in the README file but 
 when trying to connect using MyJabber I get Not Implemented. How can I 
 resolve this issue?

Hi

If it's exactly as in the README, then you have two errors (two
typos unfortunately) - the directory name is conference-0.4.1 
(not conference) and the namespace should be jabber:config:conference.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Problem to block a user

2002-01-07 Thread DJ Adams

On Sun, Jan 06, 2002 at 11:17:43PM -0300, German Pablo de la Cruz wrote:
 Hi everybody!
  
 I have a problem with this. I want to implement a service in my client
 to block a user like MSN messenger. I see that a lot of client use the

Message filters might help you here. You can define rules to check for
and act upon (e.g. discard) incoming messages. 

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: Re: [JDEV] Request for help

2002-01-04 Thread DJ Adams

On Fri, Jan 04, 2002 at 02:53:47PM +, Al Sutton wrote:
...
 If you wish to continue this conversion please do so off this list, 

Yes please chaps, I think somewhere other than jdev is the best place
for you both to continue this discussion. Thanks.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Using jabber as a central server for an Intranet

2002-01-03 Thread DJ Adams

On Thu, Jan 03, 2002 at 11:06:51AM +0530, Ritu Khetan wrote:
 Hi Dj,
 
   You are certainly missing the point here.Let me explain it again:
 
   I want to have a central jabber server[exposed to the Internet] which would take 
care of 
 offline messages,etc for other locations which are offline, as I had mentioned 
earlier, 
 these servers do not have dedicated connections, so they might be available online 
off 
 and on.THis central server would therefore forward messages to a particular location 
 whenever it is online.
 So, in short, I dont want any of the locations to interact directly, but to send 
messages via 

Ah, ok, I get you now. I thought you meant that all the
servers were on the same physical internal network. If 
they're on different transient connections, there's nothing
out of the box on the open source server (there may be
something in the Jabber Inc version, I dunno) that will 
enable you to use a Jabber server as an intermediate
'hop' and have it retry (like email). (It's a different story
if the different locations are just client connections, of
course). Then again, there's nothing stopping you writing
a component to do this, sort of a 'delivery' component...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] sending/receiving arbitrary XML content with Net::Jabber

2002-01-02 Thread DJ Adams

On Wed, Jan 02, 2002 at 11:00:08AM +, Mark Cheverton wrote:
 Just a heads up on this one, I would also be interested in the agreed
 best way to do this. I notice things like XML-RPC just define a new
 namespace, is this the best way or maybe just dump it in a message? I'd
 like to use jabber as a transport for arbitary XML messages.

Well, technically you could do either, although I'd go for the former
as it's how Jabber was intended to be used. You can define an arbitrary
namespace and carry your XML in that.

(Ref below - must've missed/forgotten this one: Jan Peter - I haven't
used Net::Jabber for a while, so can't remember off the top of my head;
but how about using a 'wrapper' type X extension to hold whatever 
RDF you want (i.e. two layers)?

Cheers
dj

 
 -Mark
 
 On Fri, 2001-12-28 at 14:14, Jan Peter Hecking wrote:
  Hi,
  
  does someone know whether it is possible to send/receive arbitrary XML
  content with Net::Jabber? I am using Jabber to send RDF (Resource
  Description Format) content between clients and would like to use
  Net::Jabber for that purpose. I can get the received RDF content using
  the GetXML method but unfortunately there is no equivalent SetXML
  method. And I can't use the Net::Jabber::X extension mechanisms via
  DefineNamespace since I don't know a priori what Namespaces the RDF
  content might contain.
  
  Anyone have an idea how to solve this problem?
  
 
 
 ___
 jdev mailing list
 [EMAIL PROTECTED]
 http://mailman.jabber.org/listinfo/jdev
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] sending/receiving arbitrary XML content with Net::Jabber

2002-01-02 Thread DJ Adams

On Wed, Jan 02, 2002 at 02:44:06PM +0100, Jan Peter Hecking wrote:
 Anyway I've found another solution to my problem: I'm using
 Jabber::Connection instead. ;-)

/me grins

Ok, that's cool. I wanted to suggest that, but didn't want to 
appear biased :-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Using jabber as a central server for an Intranet

2002-01-02 Thread DJ Adams

On Sat, Dec 29, 2001 at 02:18:05PM +0530, Ritu Khetan wrote:
 Hi all,
 
We are looking at a solution wherein one Jabber server [exposed to the Internet] 
acts 
 as a central server and many other Jabber servers located at the various locations 
of the 
 organisation which do not have dedicated IP addresses send mesages to each other via 
 this central server.
Can someone suggest how can we go about doing this...???

Hi Ritu

I'm not sure I quite understand what you want to do; if all you want is
for the different Jabber servers on your internal network to talk to one
another, then there's nothing special that you need...

Or am I missing the point?
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] JUD Example

2001-12-21 Thread DJ Adams

On Wed, Dec 19, 2001 at 01:23:32PM -0500, Michael Bauer wrote:
 
 Anyone have a simple on how to query a JUD, either using Perl or PHP?
 Something using DJ's new Perl tools would be most cool.

Hi Michael

How about this for starters?

#!/usr/bin/perl

use warnings;
use strict;
use Jabber::Connection;
use Jabber::NodeFactory;
use Jabber::NS qw(:all);

my $jud = 'users.jabber.com';

my $nf = new Jabber::NodeFactory;
my $c = new Jabber::Connection(server = 'jabber.host.com');
$c-connect or die Cannot connect;
$c-auth('user','password','resource');

my $iq = $nf-newNode('iq');
$iq-attr('type', IQ_GET);
$iq-attr('to', $jud);
my $query = $iq-insertTag('query', NS_SEARCH);

my $result = $c-ask($iq);
foreach my $field ($result-getTag('query')-getChildren) {
  print $field-name, \n;
}

$c-disconnect;



Hope that helps
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Foreign protocol transports using Jabber::Connection?

2001-11-09 Thread DJ Adams

On Thu, Nov 08, 2001 at 05:04:33PM -, Ben Schumacher wrote:
 That being said, there is not reason you'd have to do threading for a
 transport. You just need to be able to associate each ICQ connection with

Agreed. No requirement to use threads.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Foreign protocol transports using Jabber::Connection?

2001-11-09 Thread DJ Adams

On Thu, Nov 08, 2001 at 06:42:51PM +0800, Migs Paraz wrote:
 any other Jabber::Connection users out there?

Me! Me!

;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] sub agents?

2001-11-09 Thread DJ Adams

On Thu, Nov 08, 2001 at 11:18:08AM -0700, Brian Lalor wrote:
 Can someone give me a quick overview of subagents?  how do you set up the 
 jabber.xml (or do you?) to let it know that they exist, and how should the 
 master agent behave?

Hi Brian

by subagents, do you mean components that connect to a Jabber server?

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] file transfer

2001-10-23 Thread DJ Adams

On Mon, Oct 22, 2001 at 05:58:31PM -0600, Dave Waite wrote:
 I'm pretty sure that it will let a probe through, but since it is from a 
 user@host/resource instead of a user@host, it will always be denied.

Actually, it's odder than that. If you stamp your presence/ with
a from attribute yourself, and specify a resourceless value, it will
work.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] How to find the presence of a user at server side (was : How to find whether a user is offline from user.xml file)

2001-10-22 Thread DJ Adams

On Sun, Oct 21, 2001 at 11:17:46AM -0600, [EMAIL PROTECTED] wrote:
 
 From a server component, is there any reason why this won't work?
 That way you can stay an external component, and not have to futz with
 JSM.
 
 presence type='probe' to='user@host' from='mycomponent'/

Currently, for this to work, the prober still needs to have a presence
subscription relationship with the probee.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] file transfer

2001-10-22 Thread DJ Adams

On Mon, Oct 22, 2001 at 10:12:18PM +0200, Max Horn wrote:
 It used to be something for the server only, not sure if you nowadays 
 may use it. However, in a correctly designed client, you *never* have 
 to use this!

The current jabber.org will let a probe through from a client, although
you shouldn't do it, as it's for the server to use on your behalf, and
may be blocked in future releases...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



[JDEV] Discussion: SOAP Over Jabber

2001-10-17 Thread DJ Adams

Hi all

in the same vein as Jabber-RPC, we're now turning our attention to
SOAP over Jabber (or 'Jabber-SOAP'). I've put down a few thoughts
on the rpc-jig mailing list [1] - please pop over there and have a
look to see what you think. All input appreciated!

Thanks folks
dj

[1] http://mailman.jabber.org/listinfo/rpc-jig
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] help, using jabber to transmit custom xml

2001-10-12 Thread DJ Adams

On Thu, Oct 11, 2001 at 05:58:54PM -0400, Mike Snitzer wrote:
 All this said, I am extremely new to jabber; and know very little about
 the underlying protocols, extensibility of jabberd via extension messages,
 subscription procedures to get data@cluster to send to both gui@cluster,
 alarm@cluster, and any other clients that I will cook up in the future.  
 So here are some of the questions I have:

Hi, well it all sounds really exciting, and welcome to the Jabber
community! Basically, carrying your data in an extension qualified
by a separate namespace (or namespaces) is exactly the right thing
to do.

I'll attempt to answer some of the questions..

 - If you were tasked with making jabber perform the tasks that I've
 loosely outlined, how would you do it?  

The same way - define an extension by means of a new namespace, and
define what the contents of that extension shoudl look like. *What*
namespace, is a different question (and a bit of a sidetrack) - the
ones beginning jabber: are reserved; but it's certainly possible to
form an 'interest group' to crystallize an 'official' extension - 
see the info on JIGs and JEPs on http://foundation.jabber.org.

 
 - Exactly what needs to be added to jabberd server to handle the addition
 of jabber:x:cluster and jabber:x:cluster:alarm?

Absolutely nothing. The Jabber server will willingly shunt your custom
(well-defined) XML data here and there. 

 
 - It would appear that jabber seems to have an extensibility crisis;
 people say that it is possible; the extensibility I need seems to be in 
 Jabber, but there's A LOT that one needs to wade through in order to
 figure out how this might be accomplished.

Well, if you're happy reading Perl, you could look at an implementation
of Jabber-RPC - this is similar to what you want to do - transport
custom data (in this case, XML-RPC payloads) over Jabber. There's always
a decision to be made on what core element you transmit your data with;
you use the message example above, which is perfectly fine; 
Jabber-RPC uses the iq element as it's more of a request/response kind
of thing. 

Go for it - it's actually very straight forward, and you've come to 
the right place for help.

 - I intend to transmit anywhere from 12MB to 50MB of data an hour, to
 multiple jabber clients, at intervals as quick as every second;
 effectively creating a contiguous stream of data, does jabberd v1.4.X
 allow for such excessive data transmition?  Or will I hit throttling
 heuristics that have been put in place in jabberd?  

These throttling mechanisms are tweakable, so it's pretty much down
to you.

 - I want the data@cluster client to essentially push the cluster xml to
 all subscribed clients that have the required subscription presence (I
 think? =) What is the best way to do this?  Start a stream and close it
 only when the jabber client exits?

Well, the two things are pretty mutual anyway ;-) On pub/sub there's
some recent movements - check out the news on http://dev.jabber.org

I'll stop there, mostly cos I have to go, but also to give others
the chance to contribute ;-)

hope that helps for a starter-answer

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] XML::Stream - Can't call method flush on an undefined value

2001-10-10 Thread DJ Adams

On Wed, Oct 10, 2001 at 06:39:06PM +0800, Miguel A.L. Paraz wrote:
 Hi,
 I hope this is the right place for Net::Jabber and XML::Stream questions.
 I'm changing the examples to make some bots for testing Jabber load.
 
 I wrote a script to log into Jabber 10 times using random accounts that
 were pre-registered.  It consistently fails on the 3rd login with:
 
 Can't call method flush on an undefined value at 
/usr/lib/perl5/site_perl/5.6.0/XML/Stream.pm line 1260.
 

Random guess: flush is a method called on a socket. If a connection
attempt is being refused by the Jabber server due to rating or karma,
which might be the case here (consistently fails on the 3rd login),
then that socket might not actually exist in Perl space, hence the
undefined value. 

To test out this theory, stick some sleep statements in there, also
check the error.log from the Jabber server for indications of 
socket limiting etc.

What version of XML::Stream are you using? There's a flush call on
line 1258 in 1.12 of XML/Stream.pm ...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] phenomenon associated with frequent connections

2001-10-04 Thread DJ Adams

On Wed, Oct 03, 2001 at 09:40:31PM -0700, Charles Owen wrote:
 Hello all.
 
 Consider this (admittedly pathological) test program:
 
 for ( i = 1 to 10 ) {
  connect to Jabber server;
  authenticate;
  pull roster information;
  disconnect from Jabber server;
  sleep; (optional)
 }
 
 If I do not put the thread to sleep at the bottom of the loop, I run into 
 trouble on
 the sixth iteration -- and the trouble seems to arise consistently on the 
 sixth iteration. What
 actually happens is that on the sixth pass, I am able to establish a socket 
 connection,
 but as soon as I send an authentication packet, the server sends a TCP FIN 
 segment
 indicating that it's not going to interact with me anymore. After a few 

This sounds very much like the rate limiting mechanism kicking in.
The rate/ directive in the configuration (jabber.xml) allows the
server admin to throttle the rate of connection on a socket. I think
the default might even look like this:

rate points='5' time='25'/

which says throttle the socket if more than 5 connection attempts are
made in 25 seconds. The throttle is relaxed after that 25 second period.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] phenomenon associated with frequent connections

2001-10-04 Thread DJ Adams

On Thu, Oct 04, 2001 at 09:45:13AM -0700, Jason Reineri wrote:
  This sounds very much like the rate limiting mechanism kicking in.
  The rate/ directive in the configuration (jabber.xml) allows the
  server admin to throttle the rate of connection on a socket. I think
  the default might even look like this:
 
  rate points='5' time='25'/
 
  which says throttle the socket if more than 5 connection attempts are
  made in 25 seconds. The throttle is relaxed after that 25 second period.
 
 
 I think the above sentence should read:  throttle the soxket if more than 5
 connection attempts are made in 25 seconds *from the same ip address*.  If

No ...

A socket is specific to an IP address, so that last bit is redundant...

;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] forms

2001-10-03 Thread DJ Adams

On Wed, Oct 03, 2001 at 05:54:46PM +0200, Sebastiaan 'CBAS' Deckers wrote:
 Hello,
 
 IMO, the forms JEP are incredibly simplistic.
 I honestly don't see how one could build a decent form (I mean the layout)
 with the scheme you suggested, only a long list of input fields/boxes/etc.
 Why shouldn't Jabber use XHTML/CSS to display forms? That way it fits into
 Jabber's XML tags and we can guarantee forms will look (almost) identical on
 every user's display.
 
 btw, why don't you include an editable pull-down box in the JEP? (I wish
 they had put them into the HTML spec!)
 Oh, I think you left out file-selection boxes ... those can be quite useful.

Hi 

It may be worth having a word with the folks on the forms JIG
the info for the mailing list was in Peter's post, or can be
got from the http://dev.jabber.org page. 

All discussion contributions gratefully accepted :-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Re: [jadmin] Help on developing server side module.

2001-10-02 Thread DJ Adams

On Tue, Oct 02, 2001 at 01:03:43PM -0500, Peter Saint-Andre wrote:
 Right now most people write server-side components in C, C++, or Java. For
 C people seem to mostly roll their own, for Java folks seem to use
 JabberBeans (http://jabberbeans.org/) as an underlying library (or just
 write it all from scratch), and for C++ people are starting to use the
 JECL libraries that Dizzy developed (http://jabber.tigris.org/).

Ahem!
Also Perl, using Net::Jabber, Jabber::Connection or Jabber::JAX::Component.

:-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Conference messages cut off

2001-09-29 Thread DJ Adams

On Wed, Sep 26, 2001 at 12:34:37PM -0400, Horace Sequeira wrote:
 We traced down the cause of the problem, if you like, we could share that with
 you. It might save you a little time.We were not sure if posting the details on
 jdev was the apropriate thing to do.

IMHO that was exactly the right thing to do. Thanks again, too!

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Client Design Tutorial

2001-09-29 Thread DJ Adams

On Fri, Sep 28, 2001 at 10:44:15AM -0600, Dave Waite wrote:
 I'll take a stab; how about:
 
[stab]
 
 How is that? :-)

Really good :-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Client Design Tutorial

2001-09-25 Thread DJ Adams

On Mon, Sep 24, 2001 at 01:36:01PM -0700, Ragavan S wrote:
 
 How is this different from 'hotkeys'(like Alt - for back on a browser, or 
 Ctl-c to cut) that most(?) applications come with?

Because there's no overhead (screen real-estate or otherwise) that's
to be lost to 'useless' menus and so on. 

From my (perhaps limited) windows experience, there are more GUI
apps that do the hotkey stuff badly than well.

I guess I'm thinking of the mainframe environments I grew up with -
ISPF, SDSF, and so on. Even today, I haven't seen an environment,
graphical or no, to beat them. And they were 80x25 text format too.
A fantastic combination of hotkeys and small commands entered on a
command line. 

 hotkeys, will soon start using the one they prefer and are used to. But, 
 this doesn't mean the client shdn't give them the choice to do that.

Absolutely. Flexibility is great. But not at any price.

dj
'old-git' ISPF editor fan
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] URL form of JID?

2001-09-24 Thread DJ Adams

On Mon, Sep 24, 2001 at 07:44:21PM +1000, Michael Brown wrote:
  jabber:[EMAIL PROTECTED]?action=chat   # join a chat room
 
  vs
 
  jabber:[EMAIL PROTECTED]?action=join   # join a chat room
 
 jabber:[EMAIL PROTECTED]?action=chat joining a chatroom could get
 confusing.  I would have assumed it would have started a line-by-line

Yes, hence the forced comparison ;-)

 private chat (as opposed to sending a normal message- see
 http://docs.jabber.org/jpg/html/main.html#REFMESSAGE for details).
 
 Having two chat types in Jabber does confuse things a little...

There's only one chat type, but it's used in different contexts
(contexts that are mostly layers that we impose with our 
understanding, rather than technical contexts)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Client Design Tutorial

2001-09-24 Thread DJ Adams

On Mon, Sep 24, 2001 at 09:53:46PM +1000, Michael Brown wrote:
 
  I'd have to respectfully disagree there... I don't want a
  one-size-fits-all world, and I relish the diversity of
  clients available right now.
 
 I didn't mean to imply that they should all be the same, but there is some
 need for *some* clients that behave in a similar manner, and provide the
 same function as the commercial clients in order to convert the general
 public.

True. I just thought it necessary to make sure my stick was still
firmly in the mud.

:-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] URL form of JID?

2001-09-23 Thread DJ Adams

On Sat, Sep 22, 2001 at 09:28:40AM -0700, Jens Alfke wrote:
 
 So then we could have two queries/qualifiers:
 type= indicates the type of ID (person, chat, ...?) If missing, 
 'person' is assumed.

Could we link it with the browse types in the jabber:iq:browse
namespace?

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Anonymous GroupChat

2001-09-21 Thread DJ Adams

On Fri, Sep 21, 2001 at 12:28:32AM -0500, [EMAIL PROTECTED] wrote:
 Not really. There are IRC clients like this.  The current 'Conference'
 protocol does not work from the Java applet Jabber client, and all Jabber
 client connections have to have an account --- you could pre-generate a
 set of guest01-guest99 accounts, but you'd still need a flash/java/etc
 client that would work with the conference protocol.

I might be jumping in here out of turn, but Jer's been doing some
work on anonymous stuff - I think it's in CVS. It might be relevant
to this discussion...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] URL form of JID?

2001-09-21 Thread DJ Adams

On Fri, Sep 21, 2001 at 11:48:52AM -0700, Jens Alfke wrote:
 Is there a standard way to represent a JID as a URL (analogous to a 
 mailto: URL)? The most basic form would be something like 
 jabber:user@host/resource and the default action when clicked would be 
 to send an IM to that user.

I do remember seeing examples of this in very old docu, 
it was something like your example, it could have been
jabber://user@host/resouce but then I might be going mad.

 It occurs to me that a second form would be useful for conferences / 
 chat-rooms, since the behavior of clicking the URL would be different 
 (joining the room.) AIM, I believe, uses a ? attribute on the aim: 
 URL to distinguish between these things.

This is certainly an idea, but when you consider a conference
room is just one of almost an infinite variety of types of 
things, each with their own default action, to attempt to make
a distinction within the format is futile. 

That said, perhaps in a browsing situation, the type of thing that
a particular JID represents may be easier to discern because of 
its context within an iq:browse structure...

dj 


___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: Thanks DJ! - RE: [JDEV] Some help for a Newbie?

2001-09-19 Thread DJ Adams

On Tue, Sep 18, 2001 at 01:51:46PM -0500, Shane Breland wrote:
 DJ,
 
 I searched through the debug code and you are right there are no mod_xml
 lines anywhere.  I'm not sure why not.  I downloaded Jabber Server 1.4.1 and

...

 Tue Sep 18 13:27:22 2001 base_load.c:105 base_load_config processing
 configurat
 ion load main='jsm'
 jsm./jsm/jsm.so/jsm
 mod_echo./jsm/jsm.so/mod_echo
 mod_roster./jsm/jsm.so/mod_roster
 mod_time./jsm/jsm.so/mod_time
 mod_vcard./jsm/jsm.so/mod_vcard
 mod_announce./jsm/jsm.so/mod_announce
 mod_agents./jsm/jsm.so/mod_agents
 mod_admin./jsm/jsm.so/mod_admin
 mod_filter./jsm/jsm.so/mod_filter
 mod_presence./jsm/jsm.so/mod_presence
 mod_auth_digest./jsm/jsm.so/mod_auth_digest
 mod_auth_0k./jsm/jsm.so/mod_auth_0k
 mod_register./jsm/jsm.so/mod_register
 mod_log./jsm/jsm.so/mod_log

Hi again

Ok, there are a few mod_'s missing from this list. The
complete list of JSM modules in the 1.4 server (cut'n'paste
from an old jabber.xml lying around) looks like this:

  mod_echo./jsm/jsm.so/mod_echo
  mod_roster./jsm/jsm.so/mod_roster
  mod_time./jsm/jsm.so/mod_time
  mod_vcard./jsm/jsm.so/mod_vcard
  mod_last./jsm/jsm.so/mod_last
  mod_version./jsm/jsm.so/mod_version
  mod_announce./jsm/jsm.so/mod_announce
  mod_agents./jsm/jsm.so/mod_agents
  mod_browse./jsm/jsm.so/mod_browse
  mod_admin./jsm/jsm.so/mod_admin
  mod_filter./jsm/jsm.so/mod_filter
  mod_offline./jsm/jsm.so/mod_offline
  mod_presence./jsm/jsm.so/mod_presence
  mod_auth_plain./jsm/jsm.so/mod_auth_plain
  mod_auth_digest./jsm/jsm.so/mod_auth_digest
  mod_auth_0k./jsm/jsm.so/mod_auth_0k
  mod_log./jsm/jsm.so/mod_log
  mod_register./jsm/jsm.so/mod_register
  mod_xml./jsm/jsm.so/mod_xml

and the culprit here is the missing mod_xml module.

I'd suggest that if you can, you add the 

  mod_xml./jsm/jsm.so/mod_xml

line in and see what happens. This should enable the JSM
to service the IQ-get in the iq:private namespace.

Good luck!

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Account Administration tools?

2001-09-18 Thread DJ Adams

On Mon, Sep 17, 2001 at 12:21:01PM -0400, mitchell balsam wrote:
 A few questions:
  
 1) Do any GUI tools exist for jabber account administration? 

Not that I know of. Anyway, who needs a GUI? (grin/)

 2) What's the best way to script the creation of 50+ accounts? 

Probably use one of the libraries (e.g. JabberPy, Net::Jabber, etc)
and write a script with those. Remember that you can create 1 
account within a single client-server connection - you don't have
to build a connection for each iq:register...

 3) What's the status of LDAP support? 

See references to mod_auth_ldap in this list.

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Weird: email getting deleted from Jabber vCard

2001-09-18 Thread DJ Adams

On Mon, Sep 17, 2001 at 03:11:31PM -0700, Jens Alfke wrote:
 You'll note that the vCard content is identical except that the email 
 address itself is missing. These are exact transcripts I just pasted in 
 from my client's XML log, so it definitely looks like the server's 
 fault. Why would this be happening? Anyone else seen this?
 

Not that it helps much ;-), but I'll say that's certainly odd.
I've just tried to reproduce the problem, sticking as close to
your example as possible, but I can't lose the email address.
Gut feelings tell me that it's got to be something to do with
the fact that the address lives as CDATA in a tag, along with
other tags. Not illegal by any means, but it could catch a 
programmer out when using xmlnode, the Jabber server node lib...

I'll keep my eye out for symptoms here.
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: Thanks DJ! - RE: [JDEV] Some help for a Newbie?

2001-09-18 Thread DJ Adams

On Tue, Sep 18, 2001 at 10:30:17AM -0500, Shane Breland wrote:

 Tue Sep 18 09:58:05 2001  io_select.c:339 io_main checking sockets
...
 Tue Sep 18 09:58:05 2001  deliver.c:472 DELIVER 4:192.0.0.14 route
 to='[EMAIL PROTECTED]/81931C8' from='12@c2s/819B398'iq
 id='jabberim:prefs3293' type='get'query
 xmlns='jabber:iq:private'jabberIM
 xmlns='jabberim:prefs'//query/iq/route
 Tue Sep 18 09:58:05 2001  deliver.c:344 delivering to instance 'sessions'
 Tue Sep 18 09:58:05 2001  deliver.c:84 (8080488)incoming packet route
 to='[EMAIL PROTECTED]/81931C8' from='12@c2s/819B398'iq
 id='jabberim:prefs3293' type='get'query
 xmlns='jabber:iq:private'jabberIM
 xmlns='jabberim:prefs'//query/iq/route
 Tue Sep 18 09:58:05 2001  users.c:147
 js_user([EMAIL PROTECTED]/81931C8,80EE980)
 Tue Sep 18 09:58:05 2001  mtq 80EF2B0 entering from pth
 Tue Sep 18 09:58:05 2001  mtq 80EF2B0 queue call 8197820
 Tue Sep 18 09:58:05 2001  sessions.c:290 THREAD:SESSION:FROM received a
 packet!
 Tue Sep 18 09:58:05 2001  modules.c:124 mapi_call 1
 Tue Sep 18 09:58:05 2001  modules.c:147 MAPI 81934D8
 Tue Sep 18 09:58:05 2001  modules.c:147 MAPI 81934E8
 Tue Sep 18 09:58:05 2001  modules.c:147 MAPI 8193508
 Tue Sep 18 09:58:05 2001  modules.c:147 MAPI 8193530
 Tue Sep 18 09:58:05 2001  modules.c:147 MAPI 8193540
 Tue Sep 18 09:58:05 2001  modules.c:163 mapi_call returning unhandled
 Tue Sep 18 09:58:05 2001  deliver.c:262
 deliver(to[192.0.0.14],from[[EMAIL PROTECTED]/Work],type[4],packet[iq
 id='jabberim:prefs3293' type='get' from='[EMAIL PROTECTED]/Work'
 to='192.0.0.14'query xmlns='jabber:iq:private'jabberIM
 xmlns='jabberim:prefs'//query/iq])

Aha, this is very interesting

The IQ-get comes in, and the JSM modules are called in turn (the MAPI
lines). However, note the returning unhandled - no module was found
that is willing to handle the query in the iq:private namespace.

Normally, the mod_xml module should kick in here to handle the 
request, but it doesn't. I note from your jabber.xml below that you
do have the mod_xml module specified in the load of JSM, so I'm 
a little surprised. This jabber.xml file matches what's in use with
the currently running jabberd? Do you still have the first hundred
or so lines of output from the debug log? This will show us if the
mod_xml module was loaded correctly.

In any case, it seems quite evident from this section of the
debug that the query isn't being handled by the JSM and so is being
re-tried by the delivery mechanism with the JID of the server itself.

This is what I meant in my previous post about the oddness of 
the reply having a from attribute:


SENT: iq id=jabberim:prefs5009 type=getquery
xmlns=jabber:iq:privatejabberIM xmlns=jabberim:prefs//query/iq
RECV: iq id='jabberim:prefs5009' type='error' from='192.0.0.14'
to='[EMAIL PROTECTED]/Work'query xmlns='jabber:iq:private'jabberIM
xmlns='jabberim:prefs'//queryerror code='404'Not Found/error/iq

Of course, this isn't going to work either, so you get the error.

So, there doesn't seem to be a mod_xml module ready to handle the
query. Can you point to the debug log to show me that mod_xml is
loading?

Secondly, what version of the server are you running? I noticed some
'odd' lines in the debug log ... io_select.c lines, for example...

Cheers
dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Weekly News, Issue 1

2001-08-29 Thread DJ Adams

On Wed, Aug 29, 2001 at 01:35:03PM -0400, Rahul Dave wrote:
 Here's Jabber Weekly News Issue 1. Please complain, correct, update. I will
 send it out to news sources and create a RSS channel for it after the
 meeting today, presuming we are having one, are we?
 Rahul

Nice one, Rahul

[...]
 
 DJ Adams announced the Jabber HTTP Gateway 
 (http://www.pipetree.com/jabber/jrpc/httpgate/httpgate.html) which builds on
 the Jabber-RPC Spec. This spec can be found in the Jabber RPC folder of the new
 jabnews site: http://jabnews.manilasites.com/directory/20.
 

There are actually two things related to Jabber-RPC:

- Jabber::RPC

  this is an implementation of the Jabber-RPC formalisation, in 
  Perl, that provides client and server stubs with which you can
  write Jabber-RPC requesters (in the form of Jabber clients) and
  Jabber-RPC responders (in the form of Jabber clients or Jabber
  components).

  http://www.pipetree.com/jabber/jrpc/


- Jabber::RPC::HTTPgate

  this is a separately installable module that complements Jabber::RPC
  and provides a two-way gateway between the Jabber-based and HTTP-based
  XML-RPC worlds. It allows Jabber-based requesters (i.e. Jabber-RPC
  clients) to call HTTP-based responders (i.e. 'traditional' XML-RPC
  web-server-based servers), and HTTP-based requesters (i.e. 
  'traditional' XML-RPC clients) to call Jabber-based responders (i.e.
  Jabber-RPC servers).

  http://www.pipetree.com/jabber/jrpc/httpgate/


I think that JabNews is becoming the 'public view' of Jabber activity -
maybe it's worth having a quick word with Dizzyd about content coordination?

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Bug? OOB URLs lost in groupchat messages

2001-07-12 Thread DJ Adams

On Thu, Jul 12, 2001 at 09:11:52AM -0700, Jens Alfke wrote:
...
 But the other client would receive from the conference server: 
 message type=groupchat 
 from=[EMAIL PROTECTED]/5789578957239857 
 bodyEveryone, check this out/body 
 x xmlns=jabber:x:ooburl/url/x 
 /message 

Hi Jens

it's odd.  For what it's worth:

I've just tried it using both the groupchat and conferencing 
protocols on my test setup and don't experience this problem...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Strange server behaviour

2001-06-29 Thread DJ Adams

On Fri, Jun 29, 2001 at 08:34:16AM +0200, Gerard BUNEL wrote:
  
   What's 'packet_to'?
  
 
  That's simply a global variable containing the service name
 
 
 I Also noticed this logs from the server:
 
 20010629T05:25:55: [warn] (-internal): jsm: Invalid Recipient, returning data
 presence from='[EMAIL PROTECTED]/Jabber Instant
 Messenger'statusOnline/statuspriority1/priority/presence
 

Could it be that packet_to is NULL in some cases, causing this error?

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber 1.0023: Can't use string as a HASH ref

2001-06-28 Thread DJ Adams

On Thu, Jun 28, 2001 at 03:24:17AM +0200, Gregor J. Rothfuss wrote:
 all,
 
 i am playing around with DJ Adams Headline script from 
 http://www.pipetree.com/jabber/headlines.html
 
 i have Net::Jabber 1.0023 and get
 
 Can't use string (3B393B46) as a HASH ref while strict refs in use 
 at /usr/local/ActivePerl-5.6/lib/site_perl/5.6.1/Net/Jabber.pm line 583.

hi

http://www.pipetree.com/jabber/nj10021.html might give you some
pointers. The API changed over 1.0020 - 1.0021 - 1.0022/3 .
The string looks suspiciously like a $sid. 

dj
from his sickbed :-(
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Strange server behaviour

2001-06-28 Thread DJ Adams

On Thu, Jun 28, 2001 at 06:28:29PM +0200, Gerard BUNEL wrote:
 Hello,
 
 I need some help on server side development.
 I've writen a module in replacement to the standard mod_presence
 The objective of this module is to route presence messages to a service
 wich is writen in Java
 using jabberbeans and the CONNECT mode.
 
 So I wrote function to route some mesages
 
 void route_packet(mapi m) {
   xmlnode node = xmlnode_dup(m-packet-x);
   node = xmlnode_wrap(node, route);
   xmlnode_put_attrib(node, to, packet_to);
   deliver(dpacket_new(node), m-si-i);
 }

Hi 

What's 'packet_to'?

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Passwords

2001-06-25 Thread DJ Adams

On Mon, Jun 25, 2001 at 11:27:31AM -0400, Tony Byers wrote:
 Hello, 
 
 Could anyone tell me why the server needs to pass through authreg.c twice
 for a sign on?  And why does it have the username but not the password
 on the first pass?  Lastly, is there any way to get the password on the
 first pass?  I would like to see if the user comes up as null, then do
 an automatic register (assuming they pass a kerberos check).  If anyone
 knows of a better way to do this, I would really appreciate any advice.

(1) twice, because of an iq-get to discover authentication methods available,
followed by an iq-set to send the credentials

(2) it only has the username on the first pass as this is the iq-get, and
the username is needed (nothing else) to look up the user's spool data,
so the auth modules can see if the appropriate data is stored for that
user and that method

(3) auto-register, comes up as null?  - hmm. If a user doesn't exist, 
you get a 401 unauthorized, not a null, on an authentication (iq-set)
attempt. One way would be to look into how iq:register works - e.g. if
you try and register an *existing* user you get an error (409 Not
Available, I think) whereas if the user doesn't exist, the registration
is successful. I'm not sure this is a good idea anyway, I'm just 
thinking aloud. 

There's also the auth/ 'hack' which allows you to substitute your
own-rolled authentication mechanism(s), which you might want to look 
into, as it would give you more control over things.

Hope that helps
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] [jadmin] Firewall/NAT -- where must be put the alias/ ?

2001-06-22 Thread DJ Adams

On Fri, Jun 22, 2001 at 11:22:29AM +0200, Riviere Stéphane wrote:
 I tried the alias/ trick on my 1.4.1 Jabber Server, but the tag is not
 recognized.
 
...
 So, where do I put the alias directive ? ;-)
 

Here's an example.

  service id=c2s
load
  pthsock_client./pthsock/pthsock_client.so/pthsock_client
/load
pthcsock xmlns='jabber:config:pth-csock'
  authtime/
  alias to='hostname.com'someotherhostname.com/alias
  karma
   ...

An empty alias tag (alias/) isn't going to do very much ;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Passwords, zero-K and storage

2001-06-19 Thread DJ Adams

On Fri, Jun 15, 2001 at 08:35:45PM -0500, Iain Shigeoka wrote:
 It would seem that the only real way of doing this is to store the 
 plaintext password and user name _somewhere_ so you can move records from 
 one authentication system to another.  (storing plain passwords, hashes, or 
 0k sequences).  At least with the current system.  Now the implementation 
 may encrypt all these passwords so only the server can access them, or 
 perhaps a migration utility in the server, etc... but at some point, 
 somewhere, the plaintext passwords will need to exist.  Otherwise, when you 
 plug in a next generation authentication system, you'll need to have 
 everyone re-send or regenerate their password info.
 
 Am I missing something?

I don't think so, but I've never spent that much time thinking about
security. To me, requiring a password re-send is less heinous than 
storing the password in plaintext anywhere.

...

 So far this has not been an issue because we've always had the plaintext 
 password on the server which served as the common data format for password 
 information (method 1 with plaintext being the special password storage 
 format... ha ha ha).  It was easy to upgrade to 0k because we could upgrade 
 people on the server using the plaintext password.  However, I expect that 
 many/most would like to use the 0k advantage of no plaintext password at 
 all on the server.  If this is the case, then the next auth protocol (if 
 there will be one) is in for some trouble if we don't address things 
 sometime.

Sure. I guess the concept of wanting to be able to change from one method
to another when the starting method is 'proper' 0k *without* involving the
user simply does not compute.

 side noteIt would be nice nice for server's to be backward compatible and 
 still support digest if not plaintext passwords.  In this case, the 

I'm assuming that the plaintext storage is necessary for digest to ensure
security over the wire (as opposed to on the server) - so that different
tokens can be used to keep the digest 'fresh' and different. That I think
is why mod_plain_digest is merely a 'parasite' on mod_plain_auth - it 
lets it do all the work, except for the glory-bit at the credential checking
stage. 

 suppose we should wait until the Foundation/JEP/JIG etc is all settled 
 first...  *sigh*/side note

I'm sure that this and other issues that may have fallen between the 
cracks will find a good home with the Foundation and the Jabelin project.
I only wish my JabberC learning would go faster so I could help out more 
:-/

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Passwords, zero-K and storage

2001-06-19 Thread DJ Adams

On Mon, Jun 18, 2001 at 01:31:07PM -0600, David Waite wrote:

 If someone really wants passwords to be secure, they need to use a secure
 method of account registration, authentication, and renewal in the case of 0k.

Yes, this seems to be the weakspot of 0k in general, the user-initiated
password setting and changing...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Doc on MIO API for Transport dev available?

2001-06-19 Thread DJ Adams

On Tue, Jun 19, 2001 at 08:52:39AM -0500, Peter Saint-Andre wrote:
 Yes, sorry about that, I removed that document from my website, but all it
 contained was a redirection to the documents Keith Minkler created at the
 URL below.

Wow. And I thought it was going to be the revealing moment showing you
were a closet C hacker after all ;-)

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Doc on MIO API for Transport dev available?--- Modul e API or Transport API exists ?

2001-06-19 Thread DJ Adams

On Tue, Jun 19, 2001 at 05:52:33PM +0200, Riviere Stéphane wrote:
 Hi,
 
 Thanks for the answer, the Jabberd API will be very helpful !
 My main question is (in fact) : when the server loads a module, which
 function(s) does it call on that module. I suppose there must be some sort
 of Module API :-)
 
 I watched at the different modules and saw they all have a function with a 
   mreturn myfunction (jsmi si)
 prototype. That function registers functions (using the js_mapi_register or
 js_mapi_session) which have a protype like :  
   mreturn myhandlingfunction (mapi m, void *arg)

The JSM modules all follow the same pattern. The function that is called
when the module is loaded is the one specified in the load part of the
configuration, e.g. 

load main=jsm
  jsm./jsm/jsm.so/jsm
  mod_echo./jsm/jsm.so/mod_echo
  mod_roster./jsm/jsm.so/mod_roster
  mod_time./jsm/jsm.so/mod_time
  ...

the tagname (e.g. 'mod_time') is the name of the function ('mod_time()')
called.

This function usually is to be found, by convention, at the end of the
source file, and returns a void:

void mod_xyz(jsmi si)
{
  js_mapi_register(e_ ...)
  ...
}

This function registers handlers for the master events (e_SERVER,
e_AUTH, and so on). The e_SESSION master event has 'sub-events'
es_IN, es_OUT and so on (see jsm/jsm.h), and handlers for these
sub-events (session events) are set up in a beautifully fractal
way - the handler function for the e_SESSION event actually sets
handlers for the es_* events using js_mapi_session() :

mreturn xyz_abc(...)
{
  js_mapi_session(es_ ...)
}

The rest of the functions do the actual work. You might want to
have a look at jsm/modules/mod_example.c as it's got some useful
comments in the code.

Good luck!

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Possible bug with ask='subscribe'

2001-05-21 Thread DJ Adams

On Sun, May 20, 2001 at 06:39:58PM -0400, Julian Missig wrote:
 When I do:
 iq type='set'query xmlns='jabber:iq:roster'item
 jid='[EMAIL PROTECTED]' name='julian-test'//query/iq

...

 No more ask='subscribe' ... It should not be the client's responsibility

Hi Julian

Is this against a ver 1.4 Jabber server? 

I suspect so because the 1.4 version of jsm/modules/mod_roster.c
has, in the place relevant to what you're doing, this:

/* copy the old stuff into the new one and insert it into the roster */
xmlnode_put_attrib(cur,subscription,xmlnode_get_attrib(item,subscription));
xmlnode_put_attrib(cur,subscribe,xmlnode_get_attrib(item,subscribe)); 
 
which is slightly wrong as subscribe isn't a valid attribute of item, and
more importantly, the ask attribute isn't getting copied. 

It is fixed in 1.4.1 though:

/* copy the old stuff into the new one and insert it into the roster */
xmlnode_put_attrib(cur,subscription,xmlnode_get_attrib(item,subscription));
xmlnode_put_attrib(cur,ask,xmlnode_get_attrib(item,ask)); 

Anyway, that's what I suspect it is. 

You never know though, I'm probably talking rubbish.

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Getting a 404 trying to create a chat room with jabber:iq:conference

2001-05-17 Thread DJ Adams

On Thu, May 17, 2001 at 11:00:35AM -0700, Jens Alfke wrote:
  On Thursday, May 17, 2001, at 07:45 AM, DJ Adams wrote: 
 
 
  I think you might need to send your presence to the 
  room before the iq-set.  
  
  
 Well, that made no sense to me -- the room doesn't even exist at this 
 point since the set is what supposedly creates it -- but I can't deny 
 that it worked! Thanks for the tip. I'll send Jeremie a note about the 
 missing info in the Generic Conferencing draft. 

Who said it was supposed to make sense? ;-)

It's in the draft proto if you read between the lines (a lot) - there's
an example of joining an already-existing (could be pre-defined) room, and
add that '2' to the other '2' from the old protocol (just send presence to
a room to create it) and you get '5' :-)
  
I'm glad it worked, anyway.

But as mass says, it's still in flux.

dj


___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] All clear

2001-05-03 Thread DJ Adams

On Wed, May 02, 2001 at 07:27:42PM -0500, temas wrote:
 Interesting program, but I meant the current webboards/webboards system
 we have on the site now.

Great! Looking forward to using the webboards via an NNTP interface -
excellent.

Thanks temas

dj
(it also means I can do that part of my reading more comfortably from my
vt420 too ;-)

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Guaranteed message delivery (was: Unreliable?)

2001-05-03 Thread DJ Adams

On Thu, May 03, 2001 at 01:35:03PM -0500, Colin Madere wrote:

 You still maintain the ability to send message to clients that don't support
 your specialized x section, but you will need some way to know (which I
 believe there is a way to ask for someone's client type) to not wait for
 return receipts from those clients.

You can send a jabber:iq:version query to get the basic client details 
but perhaps a browse would be a better way to implement discovery of 
things like this. Just thinking aloud...

dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Newbie

2001-05-03 Thread DJ Adams

On Thu, May 03, 2001 at 03:47:03PM -0400, Bill Farrell wrote:
  
 Could anyone share their experience in bringing up the latest version of
 conferencing and/or ICQ transport?  I'd be a most grateful!!

Hi Bill

Any chance of posting your jabber.xml here so we could have a look?

cheers
dj
___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Jabber Test Suite on hold

2001-05-02 Thread DJ Adams

On Mon, Apr 30, 2001 at 05:13:36PM -0500, Dustin Puryear wrote:
 Dustin Puryear wrote:
  
   Colin Madere wrote:
 
 I believe I have active_jab, the main component of the test suite,
 pretty much working. However, I noticed I need a 1-second delay between
 logins (may need less, but I am only using second-resolution at this
 point) or I get errors. Also, I ended ripping out the karma code in

Could this be the rate/ ?

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] problem configuring jabber with conference

2001-04-29 Thread DJ Adams

On Mon, Jan 29, 2001 at 05:52:30PM -, [EMAIL PROTECTED] wrote:
 Hi All,
 I have added conference to jabber, and made appended jabber.xml file to
 accomadate this change. Once I had done this, I could not load Jabber
 anymore.  I get the error  Configuaration parsing using jabber.xml.
 
 Any ideas on how I could check the XML file to see if I had made any
 mistake?..or what I am doing wrong?.
 
 Here is my Jabber.xml.


Ok, I'll go for an easy one to work my way back into the list ;-)

  vCard/
   FNConferencing Service/FN
   DESCThis service is for private cahtrooms./DESC
   URLhttp://localhost/URL
   /vCard

change the first line in this chunk to 

  vCard


;-)

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Proposed JPG Contents

2001-04-18 Thread DJ Adams

On Tue, Apr 17, 2001 at 11:14:09PM -0700, Robert Temple wrote:
 I often find that overlap is good in docs.  Especially if the overlap
 is by two different people.   If for some reason the first isn't clear,
 the 2nd often clears things up.  
 

Folks - I've been replying in docs-dev and avoiding this list for this
thread - anyone object to us continuing the thread in docs-dev? 

http://mailman.jabber.org/listinfo/docs-dev

cheers
dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Net::Jabber problem

2001-04-15 Thread DJ Adams

On Sun, Apr 15, 2001 at 07:19:46PM +0200, Maciej Frankiewicz wrote:
 I installed Net::Jabber library and tried to run "component_exec.pl" script.
 What I got was:
 
 [root@foo examples]# ./component_exec.pl
 Can't locate object method "new" via package "Net::Jabber::Component" at
 ./compo
 nent_exec.pl line 11.
 
 what can be wrong?

Look like the install didn't work properly, or you installed it in a 'non-
standard' place. 

Do this

perl -MNet::Jabber -e 'print $Net::Jabber::VERSION'

- what do you get?

dj



___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Trouble with local JUD

2001-04-11 Thread DJ Adams

Hi rjan

In case you are still struggling (I don't see any further msgs in this
thread) - I'll put in my two pence

silly things out of the way first:

are you sure the service id="jud"host. stuff isn't between
XML comments (!-- ... --) so that the jabberd isn't able to find
the instance definition?

you refer to the 1.4 howto, so I assume you're installing JUD against
1.4, so the jud directory is normally jud-1.4/ - however I see you've
used "jud/jud.so" in your examples... Is this OK?

OK, now theory:

the jud doesn't need to be resolvable as it's local(ly defined as a 
service component instance in the config). This suggests two things:
(a) there shouldn't be any need to edit /etc/hosts with jud entries
(b) the console log output that you quote suggests that it's trying
to resolve the jud.vkhd name which suggests that it _hasn't_ found
anything matching that locally (i.e. it's passed it to the dnsrv/dialback
component). 

I've proved (a) to myself by installing jud without any hostname/DNS
changes and it works, and (b) is just a theory, as I'm still learning
of course :-)

So it would seem to me the problem is that the JUD service definition
is not getting recognised properly.

Debug output (as temas suggests) by starting the server with -D and 
capturing STDERR would be very useful...

dj

(ready to be kicked for false assumptions...)

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] How to check users presence?

2001-04-11 Thread DJ Adams

On Wed, Apr 11, 2001 at 09:21:11AM -0700, Jens Alfke wrote:
  
 But the client shouldn't need to send a probe at all. The server will 

s/shouldn't need/ought not/ 

probe is for servers; clients shouldn't be doing them...

 send you presence elements from your subscribed buddies right after 
 you log in, and whenever their status changes. All you need to do is 
 listen for them. 

So long as you store the info when you get it ;-)

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Trouble with local JUD

2001-04-11 Thread DJ Adams

On Wed, Apr 11, 2001 at 12:28:57PM -0600, David Waite wrote:
 Sorry, I helped rjan out with his problem.
 
 The first problem was using the server name instead of another unique name
 (like 'jud.servername')
 
 The second problem was that there is a service block to add to the jsm
 block for reported services for browse and agents requests, and a service
 block for loading and running the jud. Both of these were in the JSM
 configuration, so the service was never being loaded.

Cool. Thanks for letting me know.

So my theory was right - jabberd was never able to load the service - not
because it was commented out, but because it wasn't even 'there'. Yay! :-)

dj
Ok. Only another 201 unread to go ...


___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Advertising Namespace

2001-03-27 Thread DJ Adams

On Tue, Mar 27, 2001 at 11:58:17AM -0600, Colin Madere wrote:
...
 URL of ad image
 target URL of ad
 duration
 title
 type (ad, promo, ???)
 
 but aren't sure how that message will get sent (whether it's an IQ or in an
 X or as was suggested here, OOB).  So, thinking of Jabber as not just IM,
 what will be the most appropriate type of message for ads?

Being in OOB doesn't preclude being in an IQ or X context - OOB qualifies 
both. Anyway, IMHO, taking this independently of anything, it would seem that
OOB doesn't fit the bill as it only contains URL and DESC. So some ad-type
namespace may be more appropriate...

Of course, there's always the balance of new namespaces vs current client 
support...

dj

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Browseing

2001-03-26 Thread DJ Adams

On Mon, Mar 26, 2001 at 05:44:12PM +0100, Thomas Parslow (PatRat) wrote:
 Hi,
 I know this is probably a bit of a silly question but how do I browse
 a servers services. I've tried various variations on:
 iq id="services" type="get" xmlns="jabber:iq:browse"service//iq
 I tried quite a few variations including using query as with
 jabber:iq:agents but none worked (I either got a user element or and
 error).
 How should I be doing it?
 Thomas Parslow (PatRat) ICQ #:26359483
 Rat Software
 http://www.rat-software.com/
 Please leave quoted text in place when replying

Specify a to address in the iq-get, and use a query child element with
the iq:browse namespace, like this example:

iq type='get' to='jabber.org'
  query xmlns='jabber:iq:browse'/
/iq

which is a browse request for the (top level) services on the jabber.org
server.

http://docs.jabber.org/draft-proto/html/browsing.html may help too.

cheerio
dj



___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev



Re: [JDEV] Where I can download XML::Stream 1.12?

2001-03-25 Thread DJ Adams

On Mon, Mar 26, 2001 at 10:45:41AM +0400, Vladimirr wrote:
Yes, I am sure!
 Because I am talking not about last version of Net::Jabber
 on CPAN (1.0021, right), but about http://download.jabber.org/cvs/netjabber
 which is Version 1.0022 and requires XML::Stream 1.12

Aha - CVS huh? Well, at a guess, XML::Stream 1.12 is in CVS too ...

/me does a cvs -z3 co xmlstream

yup - 1.12. 

It's always best to use CVS directly (as opposed to the Web version) -
see the warning at http://download.jabber.org/cvs/

http://docs.jabber.org/general/html/cvs.html  in case you don't know this
docu already.

:-)

DJ

___
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev